Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> GetAsync(Guid id)
        {
            var query = new GetNoteQuery {
                Id = id
            };
            var note = await DispatchQueryAsync <GetNoteQuery, NoteDto>(query);

            return(Ok(note));
        }
Ejemplo n.º 4
0
 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));
     }
 }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> GetNote(int id)
        {
            var query = new GetNoteQuery(id);

            try
            {
                return(Ok(await _mediator.Send(query)));
            }
            catch
            {
                return(BadRequest());
            }
        }
Ejemplo n.º 7
0
        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>();
        }
Ejemplo n.º 9
0
        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);
        }