public void Setup() { UserId = Guid.NewGuid(); ApplyingOrganisationId = Guid.NewGuid(); ApplicationId = Guid.NewGuid(); ApplyRepository = new Mock <IApplyRepository>(); ApplyRepository.Setup(r => r.GetNextRoatpApplicationReference()).ReturnsAsync("APR123456"); ApplyRepository.Setup(r => r.StartApplication(ApplicationId, It.IsAny <ApplyData>(), ApplyingOrganisationId, UserId)).ReturnsAsync(ApplicationId); OrganisationRepository = new Mock <IOrganisationRepository>(); OrganisationRepository.Setup(r => r.GetOrganisationByUserId(UserId)).ReturnsAsync(new Organisation { Id = ApplyingOrganisationId }); ContactRepository = new Mock <IContactRepository>(); ContactRepository.Setup(r => r.GetContact(UserId)).ReturnsAsync(new Contact { Id = UserId, ApplyOrganisationId = ApplyingOrganisationId }); Handler = new StartApplicationHandler(ApplyRepository.Object, OrganisationRepository.Object, ContactRepository.Object); }
public async Task SetUp() { DataContext = DataContextHelpers.GetInMemoryDataContext(); var applicationDataValidator = Substitute.For <IApplicationDataValidator>(); applicationDataValidator.IsValid("", "").ReturnsForAnyArgs(true); var logger = Substitute.For <ILogger <StartApplicationHandler> >(); Handler = new StartApplicationHandler(DataContext, applicationDataValidator, logger); WorkflowId = Guid.NewGuid(); var projectId = Guid.NewGuid(); await DataContext.Workflows.AddAsync( new Workflow() { Type = "EPAO", Status = WorkflowStatus.Live, Id = WorkflowId, ProjectId = projectId }); var workflowSections = new[] { new WorkflowSection { Id = Guid.NewGuid(), Title = "Section 1", QnAData = new QnAData() { Pages = new List <Page>() { new Page() { Title = "[PageTitleToken1]" }, new Page() { Title = "[PageTitleToken2]" } } } }, new WorkflowSection { Id = Guid.NewGuid(), Title = "Section 2", QnAData = new QnAData() { Pages = new List <Page>() } }, new WorkflowSection { Id = Guid.NewGuid(), Title = "Section 3", QnAData = new QnAData() { Pages = new List <Page>() } }, new WorkflowSection { Id = Guid.NewGuid(), Title = "Section 4", QnAData = new QnAData() { Pages = new List <Page>() } }, new WorkflowSection { Id = Guid.NewGuid(), Title = "Invalid section", QnAData = new QnAData() { Pages = new List <Page>() } } }; await DataContext.WorkflowSections.AddRangeAsync(workflowSections); await DataContext.WorkflowSequences.AddRangeAsync(new[] { new WorkflowSequence { WorkflowId = WorkflowId, SectionId = workflowSections[0].Id, SectionNo = 1, SequenceNo = 1, IsActive = true }, new WorkflowSequence { WorkflowId = WorkflowId, SectionId = workflowSections[1].Id, SectionNo = 2, SequenceNo = 1, IsActive = true }, new WorkflowSequence { WorkflowId = WorkflowId, SectionId = workflowSections[2].Id, SectionNo = 3, SequenceNo = 1, IsActive = true }, new WorkflowSequence { WorkflowId = WorkflowId, SectionId = workflowSections[3].Id, SectionNo = 4, SequenceNo = 2, IsActive = false }, new WorkflowSequence { WorkflowId = Guid.NewGuid() }, new WorkflowSequence { WorkflowId = Guid.NewGuid() }, }); await DataContext.Projects.AddAsync(new Project { Id = projectId, ApplicationDataSchema = "" }); await DataContext.SaveChangesAsync(); }