예제 #1
0
        public async Task <IActionResult> CreateChangelog([FromForm] CreateChangelogRequest request)
        {
            var response = await mediator.Send(request);

            Log.Information($"User #{HttpContext.GetCurrentUserId()} created new changelog #{response.Changelog?.Id}");

            return(this.CreateResponse(response));
        }
예제 #2
0
        public async Task CreateChangelog_ImageUploadedAndInsertingSucceeded_ReturnChangelog()
        {
            createRequest = createRequest with {
                Image = It.IsNotNull <IFormFile>()
            };

            database.Setup(d => d.ChangelogRepository.Insert(It.IsNotNull <Changelog>(), false))
            .ReturnsAsync(true);
            database.Setup(d => d.ChangelogRepository.Update(It.IsNotNull <Changelog>()))
            .ReturnsAsync(true);

            var result = await changelogService.CreateChangelog(createRequest);

            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.TypeOf <Changelog>());
        }
예제 #3
0
        public async Task <Changelog> CreateChangelog(CreateChangelogRequest request)
        {
            var changelog = new ChangelogBuilder()
                            .SetTitle(request.Title)
                            .SetContent(request.Content)
                            .Build();

            if (!await database.ChangelogRepository.Insert(changelog, false))
            {
                throw new DatabaseException();
            }

            if (request.Image != null)
            {
                await UploadImage(request.Image, changelog);

                await database.ChangelogRepository.Update(changelog);
            }

            return(changelog);
        }
예제 #4
0
        public void SetUp()
        {
            createRequest = new CreateChangelogRequest()
            {
                Title   = "title",
                Content = "content",
                Image   = It.IsAny <IFormFile>()
            };

            updateRequest = new UpdateChangelogRequest()
            {
                Title          = "title",
                Content        = "content",
                Image          = It.IsAny <IFormFile>(),
                IsImageDeleted = false,
                ChangelogId    = It.IsAny <string>()
            };

            database     = new Mock <IDatabase>();
            filesManager = new Mock <IFilesManager>();
            mapper       = new Mock <IMapper>();

            changelogService = new ChangelogService(database.Object, filesManager.Object, mapper.Object);
        }