public async Task <BugReport> CreateBugReport(CreateBugReportRequest request) { var baseReport = await CreateBaseReport(request.Subject, request.Content, request.IsPrivate, request.EventDate, ReportCategoryType.Bug); var bugReport = BugReport.Create(baseReport.Id, request.BugType, request.AdditionalInfo); bugReport.SetReport(baseReport); using (var transaction = database.BeginTransaction().Transaction) { if (!await database.ReportRepository.Insert(baseReport, false)) { throw new DatabaseException(); } if (!await database.BugReportRepository.Insert(bugReport, false)) { throw new DatabaseException(); } transaction.Complete(); } await reportImageService.UploadReportImages(httpContextReader.CurrentUserId, baseReport, request.Images); return(bugReport); }
public void SetUp() { createOtherReportRequest = new CreateOtherReportRequest(); createUserReportRequest = new CreateUserReportRequest { UserToReportId = 1 }; createPenaltyReportRequest = new CreatePenaltyReportRequest(); createBugReportRequest = new CreateBugReportRequest(); creator = new User(); database = new Mock <IDatabase>(); reportImageService = new Mock <IReportImageService>(); httpContextReader = new Mock <IHttpContextReader>(); database.Setup(d => d.UserRepository.FindById(It.IsAny <int>())).ReturnsAsync(creator); database.Setup(d => d.ReportRepository.Insert(It.IsAny <Report>(), false)) .ReturnsAsync(true); database.Setup(d => d.BugReportRepository.Insert(It.IsAny <BugReport>(), false)) .ReturnsAsync(true); database.Setup(d => d.PenaltyReportRepository.Insert(It.IsAny <PenaltyReport>(), false)) .ReturnsAsync(true); database.Setup(d => d.UserReportRepository.Insert(It.IsAny <UserReport>(), false)) .ReturnsAsync(true); database.Setup(d => d.BeginTransaction()).Returns(new DatabaseTransaction()); reportService = new ReportService(database.Object, reportImageService.Object, httpContextReader.Object); }
public async Task <IActionResult> CreateBugReport([FromForm] CreateBugReportRequest request) { var response = await mediator.Send(request); Log.Information($"User #{HttpContext.GetCurrentUserId()} created bug report"); return(this.CreateResponse(response)); }
public void SetUp() { report = new BugReport(); request = new CreateBugReportRequest(); var mapper = new Mock <IMapper>(); reportService = new Mock <IReportService>(); reportManager = new Mock <IReportManager>(); reportService.Setup(rs => rs.CreateBugReport(It.IsAny <CreateBugReportRequest>())) .ReturnsAsync(report); mapper.Setup(m => m.Map <BugReportDto>(It.IsAny <BugReport>())).Returns(new BugReportDto()); createBugReportCommand = new CreateBugReportCommand(reportService.Object, reportManager.Object, mapper.Object); }