public async Task GetAlertLogs_ShouldOrderItemsByDate() { var reportAcceptedAt = new DateTime(2020, 1, 5); var escalatedAt = new DateTime(2020, 1, 10); var closedAt = new DateTime(2020, 1, 15); var user = new GlobalCoordinatorUser(); _alerts.First().Status = AlertStatus.Closed; _alerts.First().EscalatedAt = escalatedAt; _alerts.First().EscalatedBy = user; _alerts.First().ClosedAt = closedAt; _alerts.First().ClosedBy = user; _alerts.First().AlertReports.First().Report.Status = ReportStatus.Accepted; _alerts.First().AlertReports.First().Report.AcceptedAt = reportAcceptedAt; _alerts.First().AlertReports.First().Report.AcceptedBy = user; var result = await _alertService.GetLogs(TestData.AlertId); result.IsSuccess.ShouldBeTrue(); result.Value.Items.Count().ShouldBe(4); result.Value.Items.ElementAt(0).Date.ShouldBe(TestData.AlertCreatedAt.ApplyTimeZone(TestData.TimeZone)); result.Value.Items.ElementAt(1).Date.ShouldBe(reportAcceptedAt.ApplyTimeZone(TestData.TimeZone)); result.Value.Items.ElementAt(2).Date.ShouldBe(escalatedAt.ApplyTimeZone(TestData.TimeZone)); result.Value.Items.ElementAt(3).Date.ShouldBe(closedAt.ApplyTimeZone(TestData.TimeZone)); }
public async Task <Result> Create(CreateGlobalCoordinatorRequestDto dto) { try { string securityStamp; GlobalCoordinatorUser user; using (var transactionScope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { var identityUser = await _identityUserRegistrationService.CreateIdentityUser(dto.Email, Role.GlobalCoordinator); securityStamp = await _identityUserRegistrationService.GenerateEmailVerification(identityUser.Email); var defaultUserApplicationLanguage = await _dataContext.ApplicationLanguages .SingleOrDefaultAsync(al => al.LanguageCode == EnglishLanguageCode); user = new GlobalCoordinatorUser { IdentityUserId = identityUser.Id, EmailAddress = identityUser.Email, Name = dto.Name, PhoneNumber = dto.PhoneNumber, AdditionalPhoneNumber = dto.AdditionalPhoneNumber, Organization = dto.Organization, Role = Role.GlobalCoordinator, ApplicationLanguage = defaultUserApplicationLanguage }; await _dataContext.AddAsync(user); await _dataContext.SaveChangesAsync(); transactionScope.Complete(); } await _verificationEmailService.SendVerificationEmail(user, securityStamp); return(Success(ResultKey.User.Registration.Success)); } catch (ResultException e) { _loggerAdapter.Debug(e); return(e.Result); } }
public async Task GetAlertLogs_ShouldMapAlertClosure() { var date = new DateTime(2020, 1, 5); var userName = "******"; var user = new GlobalCoordinatorUser { Name = userName }; _alerts.First().Status = AlertStatus.Closed; _alerts.First().ClosedAt = date; _alerts.First().ClosedBy = user; var result = await _alertService.GetLogs(TestData.AlertId); result.IsSuccess.ShouldBeTrue(); result.Value.Items.ElementAt(1).Date.ShouldBe(date.ApplyTimeZone(TestData.TimeZone)); result.Value.Items.ElementAt(1).LogType.ShouldBe(AlertLogResponseDto.LogType.ClosedAlert); result.Value.Items.ElementAt(1).UserName.ShouldBe(userName); }