public async Task <ActionResult <MethodologyNoteViewModel> > AddNote( Guid methodologyVersionId, MethodologyNoteAddRequest request) { return(await _methodologyNoteService .AddNote(methodologyVersionId, request) .HandleFailuresOr(result => Created(HttpContext.Request.Path, result))); }
public async Task AddNote_NoDisplayDateDefaultsToToday() { var methodologyVersion = new MethodologyVersion(); var request = new MethodologyNoteAddRequest { Content = "Adding note", DisplayDate = null }; var today = DateTime.Today.ToUniversalTime(); var contentDbContextId = Guid.NewGuid().ToString(); await using (var contentDbContext = InMemoryApplicationDbContext(contentDbContextId)) { await contentDbContext.MethodologyVersions.AddAsync(methodologyVersion); await contentDbContext.SaveChangesAsync(); } await using (var contentDbContext = InMemoryApplicationDbContext(contentDbContextId)) { var service = SetupMethodologyNoteService(contentDbContext); var result = (await service.AddNote( methodologyVersionId: methodologyVersion.Id, request: request)).AssertRight(); Assert.NotEqual(Guid.Empty, result.Id); Assert.Equal(request.Content, result.Content); Assert.Equal(today, result.DisplayDate); } await using (var contentDbContext = InMemoryApplicationDbContext(contentDbContextId)) { Assert.Single(contentDbContext.MethodologyVersions); var addedNote = await contentDbContext.MethodologyNotes.SingleAsync(n => n.MethodologyVersionId == methodologyVersion.Id); Assert.Equal(request.Content, addedNote.Content); Assert.Equal(today, addedNote.DisplayDate); } }
public Task <Either <ActionResult, MethodologyNoteViewModel> > AddNote( Guid methodologyVersionId, MethodologyNoteAddRequest request) { return(_persistenceHelper .CheckEntityExists <MethodologyVersion>(methodologyVersionId) .OnSuccess(_userService.CheckCanUpdateMethodology) .OnSuccess(async methodologyVersion => { var addedNote = await _methodologyNoteRepository.AddNote( methodologyVersionId: methodologyVersion.Id, createdByUserId: _userService.GetUserId(), content: request.Content, displayDate: request.DisplayDate ?? DateTime.Today.ToUniversalTime()); return BuildMethodologyNoteViewModel(addedNote); })); }