Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }