public HttpResponseMessage Get(int id) { var query = new GetNoteQuery(id); var queryResult = _queryDispatcher.Handle <GetNoteQueryResult>(query); return(Request.CreateResponse(HttpStatusCode.OK, queryResult.NoteModel)); }
public void Handle_OnExistingNote_ReturnsNoteViewModel() { var request = new GetNoteQuery { NoteId = 1 }; var note = new Note { Id = 1, Description = "test", NoteBoardId = "DSC-11", SortIndex = 123, Title = "title" }; var noteRepositoryMock = new Mock <INoteRepository>(); noteRepositoryMock .Setup(x => x.Get(It.IsAny <int>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(note)); var sut = new GetNoteQueryHandler(noteRepositoryMock.Object); var result = sut.Handle(request, new CancellationToken()).GetAwaiter().GetResult(); result.Should().NotBeNull(); result.Note.Should().NotBeNull(); result.Note.Id.Should().Be(1); }
public async Task <IActionResult> GetAsync(Guid id) { var query = new GetNoteQuery { Id = id }; var note = await DispatchQueryAsync <GetNoteQuery, NoteDto>(query); return(Ok(note)); }
public Task <Note> HandleAsync(GetNoteQuery query) { using (var context = _factory.CreateContext()) { return(context.Notes .AsNoTracking() .Include(x => x.Attachments) .FirstAsync(x => x.Id == query.Id)); } }
public async Task Handle_NoteNotFound_ShouldThrowNotFoundException() { // Arrange var note = await _wolkDbContext.CreateAndSaveNote(); var request = new GetNoteQuery(note.Id + 1); // Act / Assert await Assert.ThrowsExceptionAsync <NotFoundException>(() => _handler.Handle(request, CancellationToken.None)); }
public async Task <IActionResult> GetNote(int id) { var query = new GetNoteQuery(id); try { return(Ok(await _mediator.Send(query))); } catch { return(BadRequest()); } }
public async Task Handle_NoteFound_OpenedNotUpdated() { // Arrange var note = await _wolkDbContext.CreateAndSaveNote(); var request = new GetNoteQuery(note.Id) { UpdateOpenedDateTime = false }; // Act var result = await _handler.Handle(request, CancellationToken.None); // Assert ShouldBeEqual(note, result); Assert.IsNull(result.Opened); }
public void Handle_OnNotExistingNote_ThrowsNotFoundException() { var request = new GetNoteQuery { NoteId = 1 }; var noteRepositoryMock = new Mock <INoteRepository>(); noteRepositoryMock .Setup(x => x.Get(It.IsAny <int>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult <Note>(null)); var sut = new GetNoteQueryHandler(noteRepositoryMock.Object); Action act = () => sut.Handle(request, new CancellationToken()).GetAwaiter().GetResult(); act.Should().ThrowExactly <NotFoundException>(); }
public async Task Handle_NoteFound_OpenedUpdated() { // Arrange var now = DateTime.Now; _mockDateTime .Setup(m => m.Now) .Returns(now); var note = await _wolkDbContext.CreateAndSaveNote(); var request = new GetNoteQuery(note.Id) { UpdateOpenedDateTime = true }; // Act var result = await _handler.Handle(request, CancellationToken.None); // Assert ShouldBeEqual(note, result); Assert.AreEqual(now, result.Opened); }