示例#1
0
        ISandboxService CreateForFailingSandboxCreate(string userAppRole,
                                                      int userId,
                                                      int studyId = StudyConstants.CREATED_BY_ME_ID,
                                                      string wbs  = StudyConstants.CREATED_BY_ME_WBS, bool wbsExists = false, bool wbsValidationFails = false)
        {
            var study = StudyModelFactory.CreateBasic(id: studyId, wbs: wbs);

            var studyWbsValidationService = StudyWbsValidationMockServiceFactory.GetService(_serviceProvider, wbsExists, wbsValidationFails);

            return(SandboxServiceWithMocksFactory.ForSandboxCreate(_serviceProvider, userAppRole, userId, studyWbsValidationService, new List <Study>()
            {
                study
            }));
        }
示例#2
0
        SandboxServicesAndMocks CreateMockPackageWithExistingStudy(Study study, bool wbsExists = false, bool wbsValidationFails = false)
        {
            var studies = new List <Study>()
            {
                study
            };

            //STUDY MODEL SERVICE
            var studyModelServiceMock = new Mock <IStudyEfModelService>();

            studyModelServiceMock
            .Setup(x =>
                   x.GetForSandboxCreateAndDeleteAsync(It.IsAny <int>(), It.IsAny <UserOperation>()))
            .ReturnsAsync((int a, UserOperation b) => studies?.FirstOrDefault(s => s.Id == a));

            //SANDBOX MODEL SERVICE
            var sandboxModelServiceMock = new Mock <ISandboxModelService>();

            var studyWbsValidationService = StudyWbsValidationMockServiceFactory.GetService(_serviceProvider, wbsExists, wbsValidationFails);

            var sandboxService = SandboxServiceWithMocksFactory.Create(_serviceProvider, AppRoles.Admin, 1, studyModelServiceMock.Object, sandboxModelServiceMock.Object, studyWbsValidationService);

            return(new SandboxServicesAndMocks(sandboxService, studyModelServiceMock, sandboxModelServiceMock));
        }