Beispiel #1
0
        public async Task <IActionResult> UpdateTagsList(string id, [FromBody] TagsUpdateDto listOfTags)
        {
            var command = UpdateTagsCommand.Create(id, listOfTags.Tags, User.GetUserId());
            await _mediator.Send(command);

            return(StatusCode(204));
        }
Beispiel #2
0
        public void GivenAnotherUsersPrivateMedia_ThenMediaDoesNotBelongToUserIsThrown()
        {
            var givenUser1         = "user1";
            var givenUser2         = "user2";
            var givenMediaId       = "abcdefgh";
            var givenMediaInstance = new MediaInstance()
            {
                Id        = givenMediaId,
                AuthorId  = givenUser1,
                DataType  = "png",
                IsPrivate = true
            };
            var givenTags = new List <string>()
            {
                "test everything"
            };

            _contextMock.MediaInstances.Add(givenMediaInstance);
            _contextMock.SaveChanges();

            var    command = UpdateTagsCommand.Create(givenMediaId, givenTags, givenUser2);
            var    handler = new UpdateTagsCommandHandler(_contextMock, _timeProviderMock.Object);
            Action act     = () => handler.Handle(command, CancellationToken.None).Wait();

            act.Should().Throw <MediaDoesNotBelongToUserException>();
        }
Beispiel #3
0
        public void GivenMediaChangeIsSavedInDatabase_MediaChangeIsOfTypeUpdate()
        {
            var givenUser          = "******";
            var givenMediaId       = "abcdefgh";
            var givenMediaInstance = new MediaInstance
            {
                Id       = givenMediaId,
                AuthorId = givenUser,
                DataType = "png"
            };
            var givenTags = new List <string>
            {
                "test everything"
            };

            _contextMock.MediaInstances.Add(givenMediaInstance);
            _contextMock.SaveChanges();

            var command = UpdateTagsCommand.Create(givenMediaId, givenTags, givenUser);
            var handler = new UpdateTagsCommandHandler(_contextMock, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaChanges.Should().ContainSingle(mc => mc.Type == MediaChangeType.Update);
        }
Beispiel #4
0
        public void GivenEmptyTagsList_ThenArgumentNullExceptionThrown()
        {
            _contextMock.MediaInstances.Add(CreateExampleDatabaseInstance());
            _contextMock.SaveChanges();
            var    tags = new List <string>();
            Action act  = () => UpdateTagsCommand.Create("k8wetest", tags, string.Empty);

            act.Should().Throw <ArgumentNullException>();
        }
Beispiel #5
0
        public void GivenNonexistentFileID_ThenExceptionIsThrown()
        {
            _contextMock.MediaInstances.Add(CreateExampleDatabaseInstance());
            _contextMock.SaveChanges();
            var tags = new List <string>
            {
                "sword", "shield", "minimini"
            };

            var command = UpdateTagsCommand.Create("xdxdxdxd", tags, string.Empty);
            var handler = new UpdateTagsCommandHandler(_contextMock, _timeProviderMock.Object);

            Action act = () => handler.Handle(command, CancellationToken.None).Wait();

            act.Should().Throw <Exception>();
        }
Beispiel #6
0
        public void GivenMediaTagsAreUpdated_ThenExpectedMediaTagsAreInDatabase()
        {
            _contextMock.MediaInstances.Add(CreateExampleDatabaseInstance());
            _contextMock.SaveChanges();
            var tags = new List <string>
            {
                "sword", "shield", "minimini"
            };

            var command = UpdateTagsCommand.Create("k8wetest", tags, string.Empty);
            var handler = new UpdateTagsCommandHandler(_contextMock, _timeProviderMock.Object);

            handler.Handle(command, CancellationToken.None).Wait();

            _contextMock.MediaInstances.Single().MediaTags.Select(t => t.Tag.Name).Should().BeEquivalentTo(tags);
        }
Beispiel #7
0
        public async Task <ActionResult> Index(string json)
        {
            var model = JsonConvert.DeserializeObject <AdminTagEditModel>(json);

            try
            {
                var command = new UpdateTagsCommand(model.Tags, ModelState);
                var result  = await Mediator.SendAsync(command);

                model.SaveSuccessful = true;
                model.Message        = "Tags Updated!";
                model.Tags           = _adminTagModelQuery.GetAdminTagModels();
            }
            catch (Exception ex)
            {
                model.SaveSuccessful = false;
                model.Message        = ex.ToString();
            }

            return(View(model));
        }
Beispiel #8
0
        public async Task <IActionResult> UpdateTagGroup([FromBody] UpdateTagsCommand command)
        {
            var response = await _mediator.Send(command);

            return(CreateResponse(response));
        }