コード例 #1
0
        public async Task DeleteByIdAsync_WithCorrectData_ShouldSuccessfullyDelete()
        {
            var testTitle = "TestTitle";

            // Arrange
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();
            var userReportRepository = new EfDeletableEntityRepository <UserReport>(context);
            var userReportsService   = new UserReportsService(userReportRepository);

            var inputModel = new CreateUserReportInputModel()
            {
                Title       = "TestTitle",
                Description = "TestDescription",
            };

            await userReportsService.SendAsync(inputModel);

            var topicReport = userReportRepository.All().FirstOrDefault(c => c.Title == testTitle);

            // Act
            var expectedTopicReportsCount = 0;
            await userReportsService.DeleteByIdAsync(topicReport.Id);

            var actualCommentsCount = userReportRepository.All().Count();

            // Assert
            Assert.Equal(expectedTopicReportsCount, actualCommentsCount);
        }
コード例 #2
0
        public async Task SendAsync(CreateUserReportInputModel input)
        {
            var userReport = new UserReport()
            {
                Title          = input.Title,
                Description    = input.Description,
                SenderId       = input.SenderId,
                ReportedUserId = input.ReportedUserId,
            };

            await this.userReportRepository.AddAsync(userReport);

            await this.userReportRepository.SaveChangesAsync();
        }
コード例 #3
0
        public async Task <IActionResult> ReportUser(CreateUserReportInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.Redirect($"/Reports/Send?userId={input.ReportedUserId}"));
            }

            var senderId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            input.SenderId = senderId;

            await this.userReportsService.SendAsync(input);

            return(this.Redirect("/"));
        }
コード例 #4
0
        public async Task SendAsync_ShouldSuccessfullyCreateTopicReport()
        {
            // Arrange
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();
            var userReportRepository = new EfDeletableEntityRepository <UserReport>(context);
            var userReportsService   = new UserReportsService(userReportRepository);

            var inputModel = new CreateUserReportInputModel()
            {
                Title       = "TestTitle",
                Description = "TestDescription",
            };

            // Act
            var expectedUserReportsCount = 1;
            await userReportsService.SendAsync(inputModel);

            var actualUserReportsCount = userReportRepository.All().Count();

            // Assert
            Assert.Equal(expectedUserReportsCount, actualUserReportsCount);
        }