public async Task ATS_Result_should_be_one_when_answer_phase_1_is_1_and_answer_phase_2_is_0_and_phase_3_has_more_than_2() { using var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); //Arrange var identityWorkId = Guid.NewGuid(); var instanceId = Guid.NewGuid(); var employeeId = Guid.NewGuid(); var periodId = Guid.NewGuid(); var evaluationSurveyId = Guid.Parse("6EC14905-F634-418F-B0D2-EF2F315835E8");//ATS var middlewareManager = new NOMSurveyManager(); var nomSurveyReply = BuildNomSurveyReply(identityWorkId, instanceId, employeeId, periodId, evaluationSurveyId); var answerPhase1 = new NOMAnswerManagerUT().BuildAnswer(identityWorkId, instanceId, nomSurveyReply.ID); var answerPhase2 = new NOMAnswerManagerUT().BuildAnswer(identityWorkId, instanceId, nomSurveyReply.ID); var answerPhase31 = new NOMAnswerManagerUT().BuildAnswer(identityWorkId, instanceId, nomSurveyReply.ID); var answerPhase32 = new NOMAnswerManagerUT().BuildAnswer(identityWorkId, instanceId, nomSurveyReply.ID); var answerPhase33 = new NOMAnswerManagerUT().BuildAnswer(identityWorkId, instanceId, nomSurveyReply.ID); var nomEvaluationPhaseManager = new MiddlewareManager <NOMEvaluationPhase>(new BaseRecordManager <NOMEvaluationPhase>(), new NOMEvaluationPhaseValidator()); var aTSPhases = await nomEvaluationPhaseManager.FindByExpressionAsync(x => x.NOMEvaluationSurveyID == evaluationSurveyId && x.Active == true, Guid.Empty); var listATSPhasesIDs = aTSPhases.Select(x => x.ID); var PhaseI = aTSPhases.FirstOrDefault(x => x.Number == 1); var PhaseII = aTSPhases.FirstOrDefault(x => x.Number == 2); var PhaseIII = aTSPhases.FirstOrDefault(x => x.Number == 3); var questionMiddleWare = new MiddlewareManager <NOMEvaluationQuestion>(new BaseRecordManager <NOMEvaluationQuestion>(), new NOMEvaluationQuestionValidator()); var aTSQuestions = questionMiddleWare.FindByExpression(e => listATSPhasesIDs.Contains(e.NOMEvaluationPhaseID), Guid.Empty); var phaseIATSQuestions = questionMiddleWare.FindByExpression(e => e.Active && e.NOMEvaluationPhaseID == PhaseI.ID, Guid.Empty); var phaseIIATSQuestions = questionMiddleWare.FindByExpression(e => e.Active && e.NOMEvaluationPhaseID == PhaseII.ID, Guid.Empty); var phaseIIIATSQuestions = questionMiddleWare.FindByExpression(e => e.Active && e.NOMEvaluationPhaseID == PhaseIII.ID, Guid.Empty); answerPhase1.NOMEvaluationQuestionID = phaseIATSQuestions.FirstOrDefault().ID; answerPhase1.Value = 1; answerPhase2.NOMEvaluationQuestionID = phaseIIATSQuestions.FirstOrDefault().ID; answerPhase2.Value = 0; answerPhase31.NOMEvaluationQuestionID = phaseIIIATSQuestions.FirstOrDefault().ID; answerPhase31.Value = 1; answerPhase32.NOMEvaluationQuestionID = phaseIIIATSQuestions.FirstOrDefault().ID; answerPhase32.Value = 1; answerPhase33.NOMEvaluationQuestionID = phaseIIIATSQuestions.FirstOrDefault().ID; answerPhase33.Value = 1; //Act var processed = middlewareManager.ProcessFinalizationATS(nomSurveyReply, new List <NOMAnswer>() { answerPhase1, answerPhase2, answerPhase31, answerPhase32, answerPhase33 }, aTSQuestions, aTSPhases); //Arrange Assert.NotNull(processed); Assert.Equal(1, processed.Result); Assert.Equal(EvaluationStateType.Answered, processed.EvaluationState); }
public async Task UpdateSurveyAnswersAsync() { var transactionScopeoption = TransactionScopeOption.RequiresNew; using var scope = new TransactionScope(transactionScopeoption, TransactionScopeAsyncFlowOption.Enabled); //Arrange var identityWorkId = Guid.NewGuid(); var instanceId = Guid.NewGuid(); var NOMSurveyReplies = (await CreateDefaultAsync <NOMSurveyReplyResult>(identityWorkId, instanceId)).FirstOrDefault(); //Act var middlewareManager = new NOMSurveyManager(); //Get var resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.NotNull(resultPrevious); resultPrevious.Result = 1; resultPrevious.EvaluationState = EvaluationStateType.Sent; List <NOMAnswer> nOMAnswer = new List <NOMAnswer>() { new NOMAnswer() { ID = Guid.NewGuid(), Active = true, Timestamp = DateTime.UtcNow, Description = "Soy una surveyreply", CreationDate = DateTime.Now, company = identityWorkId, user = Guid.NewGuid(), InstanceID = instanceId, Name = "g1", StatusID = 1, Value = 1 } }; //resultPrevious.NOMAnswer = nOMAnswer; //Delete await middlewareManager.UpdateSurveyAsync(resultPrevious, identityWorkId); //Get resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.NotNull(resultPrevious); Assert.Equal(1, resultPrevious.Result); Assert.Equal(EvaluationStateType.Sent, resultPrevious.EvaluationState); await middlewareManager.DeleteAsync(new List <Guid>() { resultPrevious.ID }, identityWorkId); //Get it again to verify if the registry it was deleted resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.Null(resultPrevious); }
public async Task ProcessFinalization() { var transactionScopeoption = TransactionScopeOption.RequiresNew; using var scope = new TransactionScope(transactionScopeoption, TransactionScopeAsyncFlowOption.Enabled); //Arrange var identityWorkId = Guid.NewGuid(); var instanceId = Guid.NewGuid(); var NOMSurveyReplies = (await CreateDefaultAsync <NOMSurveyReplyResult>(identityWorkId, instanceId)).FirstOrDefault(); //Act var middlewareManager = new NOMSurveyManager(); //Get var resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.NotNull(resultPrevious); Assert.True(resultPrevious.NOMAnswer.Any()); //TODO answers and process //Delete await middlewareManager.DeleteAsync(new List <Guid>() { resultPrevious.ID }, identityWorkId); //Get it again to verify if the registry it was deleted var mustNotExists = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.Null(mustNotExists); }
public async Task <List <T> > CreateDefaultAsync <T>(Guid identityWorkId, Guid instanceId) where T : class { //EvaluationPeriod var nomEvaluationPeriod = new NOMEvaluationPeriod() { ID = Guid.NewGuid(), Active = true, Timestamp = DateTime.UtcNow, Description = "Soy una surveyreply", CreationDate = DateTime.Now, company = identityWorkId, user = Guid.NewGuid(), InstanceID = instanceId, Name = "g1", StatusID = 1, InitialDate = DateTime.Now, FinalDate = DateTime.Now.AddDays(1), Period = "2019", State = true, }; var lstNomEvaluationPeriods = new List <NOMEvaluationPeriod>(); lstNomEvaluationPeriods.Add(nomEvaluationPeriod); var middlewareManagerEvaluationPeriod = new MiddlewareManager <NOMEvaluationPeriod>(new BaseRecordManager <NOMEvaluationPeriod>(), new NOMEvaluationPeriodValidator()); middlewareManagerEvaluationPeriod.Create(lstNomEvaluationPeriods, identityWorkId); //Employee var lstEmployees = await new EmployeeManagerUT().CreateDefaultAsync <Employee>(identityWorkId, instanceId, randomValues: true); var nomSurveyReply = new NOMSurveyReplyParams() { EmployeeId = lstEmployees.FirstOrDefault().ID, NOMEvaluationPeriodId = nomEvaluationPeriod.ID, NOMEvaluationSurveyId = Guid.Parse("612A7938-1D11-4400-8BB7-AD29191AC33C"), IdentityWorkId = identityWorkId, InstanceId = instanceId }; var manager = new NOMSurveyManager(); var res = await manager.CreateAsync(nomSurveyReply); return(new List <T>() { res as T }); }
public async Task UpdateSurveyAsync() { using var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); //Arrange var identityWorkId = Guid.NewGuid(); var instanceId = Guid.NewGuid(); var NOMSurveyReplies = (await CreateDefaultAsync <NOMSurveyReplyResult>(identityWorkId, instanceId)).FirstOrDefault(); //Act var middlewareManager = new NOMSurveyManager(); //Get var resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.NotNull(resultPrevious); resultPrevious.Result = 1; resultPrevious.EvaluationState = EvaluationStateType.Sent; //Delete await middlewareManager.UpdateSurveyAsync(resultPrevious, identityWorkId); //Get resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.NotNull(resultPrevious); Assert.Equal(1, resultPrevious.Result); Assert.Equal(EvaluationStateType.Sent, resultPrevious.EvaluationState); await middlewareManager.DeleteAsync(new List <Guid>() { resultPrevious.ID }, identityWorkId); //Get it again to verify if the registry it was deleted resultPrevious = await middlewareManager.GetAsync(NOMSurveyReplies.Token, identityWorkId); //Assert Assert.Null(resultPrevious); }