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)); }
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>(); }
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); }
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>(); }
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>(); }
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); }
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)); }
public async Task <IActionResult> UpdateTagGroup([FromBody] UpdateTagsCommand command) { var response = await _mediator.Send(command); return(CreateResponse(response)); }