public async Task DeleteRequestsNullInput() { // Arrange TestSupportRequestDbContext supportRequestContext = new TestSupportRequestDbContext(); SupportRequestService supportRequestService = new SupportRequestService(supportRequestContext, GetAppConfig()); // Act + Assert await Assert.ThrowsAsync <ArgumentNullException>(() => supportRequestService.DeleteSupportRequestsAsync(null)); }
public async Task DeleteAccountRequestWillAudit() { // Arrange var auditingService = new FakeAuditingService(); TestSupportRequestDbContext supportRequestContext = new TestSupportRequestDbContext(); SupportRequestService supportRequestService = new SupportRequestService(supportRequestContext, GetAppConfig(), auditingService); User user = new User("testUser"); // Act await supportRequestService.TryAddDeleteSupportRequestAsync(user); // Assert Assert.Single(auditingService.Records); var deleteRecord = auditingService.Records[0] as DeleteAccountAuditRecord; Assert.True(deleteRecord != null); Assert.Equal(DeleteAccountAuditRecord.ActionStatus.Success, deleteRecord.Status); }
public async Task DeleteRequestsNormalPath() { // Arrange string userName = "******"; string emailAddress = "*****@*****.**"; User user = new User() { Username = userName, EmailAddress = emailAddress, Key = 11 }; TestSupportRequestDbContext supportRequestContext = new TestSupportRequestDbContext(); Issue JoesDeleteAccountRequest = new Issue() { CreatedBy = user.Username, Key = 1, IssueTitle = Strings.AccountDelete_SupportRequestTitle, OwnerEmail = user.EmailAddress, IssueStatusId = IssueStatusKeys.New, HistoryEntries = new List <History>() { new History() { EditedBy = userName, IssueId = 1, Key = 1, IssueStatusId = IssueStatusKeys.New } }, UserKey = user.Key }; Issue JoesOldIssue = new Issue() { CreatedBy = user.Username, Key = 2, IssueTitle = "Joe's OldIssue", OwnerEmail = user.EmailAddress, IssueStatusId = IssueStatusKeys.Resolved, HistoryEntries = new List <History>() { new History() { EditedBy = userName, IssueId = 2, Key = 2, IssueStatusId = IssueStatusKeys.New }, new History() { EditedBy = userName, IssueId = 2, Key = 2, IssueStatusId = IssueStatusKeys.Resolved } }, UserKey = user.Key }; Issue randomIssue = new Issue() { CreatedBy = $"{user.Username}_second", Key = 3, IssueTitle = "Second", OwnerEmail = "random", IssueStatusId = IssueStatusKeys.New, HistoryEntries = new List <History>() { new History() { EditedBy = $"{userName}_second", IssueId = 3, Key = 3, IssueStatusId = IssueStatusKeys.New } }, UserKey = user.Key + 1 }; supportRequestContext.Issues.Add(JoesDeleteAccountRequest); supportRequestContext.Issues.Add(JoesOldIssue); supportRequestContext.Issues.Add(randomIssue); var auditingService = new Mock <IAuditingService>(); SupportRequestService supportRequestService = new SupportRequestService(supportRequestContext, GetAppConfig(), auditingService.Object); // Act await supportRequestService.DeleteSupportRequestsAsync(user); //Assert Assert.Equal <int>(2, supportRequestContext.Issues.Count()); Assert.True(supportRequestContext.Issues.Any(issue => string.Equals(issue.CreatedBy, $"{userName}_second"))); Assert.False(supportRequestContext.Issues.Any(issue => string.Equals(issue.IssueTitle, "Joe's OldIssue"))); var deleteRequestIssue = supportRequestContext.Issues.Where(issue => issue.Key == 1).FirstOrDefault(); Assert.NotNull(deleteRequestIssue); Assert.Equal(deleteRequestIssue.CreatedBy, "_deletedaccount"); Assert.Equal(deleteRequestIssue.IssueStatusId, IssueStatusKeys.Resolved); Assert.Null(deleteRequestIssue.HistoryEntries.ElementAt(0).EditedBy); }