public async Task DeleteRequestsNullInput()
            {
                // Arrange
                TestSupportRequestDbContext supportRequestContext = new TestSupportRequestDbContext();
                SupportRequestService       supportRequestService = new SupportRequestService(supportRequestContext, GetAppConfig());

                // Act + Assert
                await Assert.ThrowsAsync <ArgumentNullException>(() => supportRequestService.DeleteSupportRequestsAsync(null));
            }
Esempio n. 2
0
            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);
            }
Esempio n. 3
0
            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);
            }