void AndGivenCommandPrepared() { _request = new GetArticleRequest { Id = _articleId }; }
public async Task <IActionResult> Get(Guid id) { var request = new GetArticleRequest { Id = id }; return(Ok(await _mediator.Send(request))); }
public async Task <IActionResult> GetArticle([FromQuery] GetArticleRequest request) { var response = await mediator.Send(request); Log.Information($"User #{HttpContext.GetCurrentUserId()} fetched article #{request.ArticleId}"); return(this.CreateResponse(response)); }
public async Task GetArticleAsync_ArticleNotFound() { // arrange var request = new GetArticleRequest { ArticleId = 55 }; // act var result = await this.articleService.GetArticleAsync(request); // assert Assert.IsNotNull(result); Assert.AreEqual(StatusCode.NotFound, result.Status); }
public async Task <GetArticleResponse> GetArticleAsync(GetArticleRequest request) { var response = new GetArticleResponse(); try { //var kkk = await this.articleRepository.GetSingleAsync(q => // from x in q // from y in x.ArticleVersions // where x.Id == y.ArticleId // select new ArticleDto // { // Id = y.ArticleId, // Title = y.Title, // Content = y.Content, // LastUpdated = x.Updated // } //); response.Article = await this.articleVersionRepository.GetSingleAsync(q => q .Where(x => x.ArticleId == request.ArticleId && x.LanguageId == request.LanguageId && x.IsPublished) .Select(x => new ArticleDto { Id = x.ArticleId, Title = x.Title, Content = x.Content, LastUpdated = x.Updated }) ); if (response.Article != null) { response.Status = StatusCode.OK; } else { response.Status = StatusCode.NotFound; } } catch (Exception ex) { this.exceptionHandler.HandleException(ex); response.Status = StatusCode.InternalServerError; } return(response); }
public async Task<GetArticleResponse> GetArticleAsync(GetArticleRequest request) { var response = new GetArticleResponse(); try { //var kkk = await this.articleRepository.GetSingleAsync(q => // from x in q // from y in x.ArticleVersions // where x.Id == y.ArticleId // select new ArticleDto // { // Id = y.ArticleId, // Title = y.Title, // Content = y.Content, // LastUpdated = x.Updated // } //); response.Article = await this.articleVersionRepository.GetSingleAsync(q => q .Where(x => x.ArticleId == request.ArticleId && x.LanguageId == request.LanguageId && x.IsPublished) .Select(x => new ArticleDto { Id = x.ArticleId, Title = x.Title, Content = x.Content, LastUpdated = x.Updated }) ); if (response.Article != null) { response.Status = StatusCode.OK; } else { response.Status = StatusCode.NotFound; } } catch (Exception ex) { this.exceptionHandler.HandleException(ex); response.Status = StatusCode.InternalServerError; } return response; }
public async static Task <Article> GetAsync(string type, string id, IEnumerable <string> fields = null) { var request = new GetArticleRequest() { Id = id, Type = type, }; if (fields != null) { request.Fields.AddRange(fields); } var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) { throw response.Status.ToFault(); } Debug.Assert(response.Article != null, "For a successful get call, article should always be returned."); return(response.Article); }
public async Task GetArticleAsync_DefaultLanguage() { // arrange var request = new GetArticleRequest { ArticleId = 2 }; // act var result = await this.articleService.GetArticleAsync(request); // assert Assert.IsNotNull(result); Assert.AreEqual(StatusCode.OK, result.Status); var article = result.Article; Assert.IsNotNull(article); Assert.AreEqual(2, article.Id); Assert.AreEqual("Great Expectations", article.Title); Assert.AreEqual("Rubbish", article.Content); }
public async Task GetArticleAsync() { // arrange var request = new GetArticleRequest { ArticleId = 2, LanguageId = 2 }; // act var result = await this.articleService.GetArticleAsync(request); // assert Assert.IsNotNull(result); Assert.AreEqual(StatusCode.OK, result.Status); var article = result.Article; Assert.IsNotNull(article); Assert.AreEqual(2, article.Id); Assert.AreEqual("Mein Kampf", article.Title); Assert.AreEqual("Achtung!", article.Content); }
public async Task <EditArticleResponse> GetEditArticleAsync(GetArticleRequest request) { var response = new EditArticleResponse(); try { response.Article = await this.articleVersionRepository.GetSingleAsync(q => q. Where(x => x.ArticleId == request.ArticleId && x.LanguageId == request.LanguageId). Select(x => new ArticleEditDto { ArticleId = x.ArticleId, ArticleVersionId = x.Id, LanguageId = x.LanguageId, Title = x.Title, Content = x.Content, Publish = x.IsPublished } )); if (response.Article != null) { response.Status = StatusCode.OK; } else { response.Status = StatusCode.NotFound; } } catch (Exception ex) { this.exceptionHandler.HandleException(ex); response.Status = StatusCode.InternalServerError; } return(response); }
public async Task<EditArticleResponse> GetEditArticleAsync(GetArticleRequest request) { var response = new EditArticleResponse(); try { response.Article = await this.articleVersionRepository.GetSingleAsync(q => q. Where(x => x.ArticleId == request.ArticleId && x.LanguageId == request.LanguageId). Select(x => new ArticleEditDto { ArticleId = x.ArticleId, ArticleVersionId = x.Id, LanguageId = x.LanguageId, Title = x.Title, Content = x.Content, Publish = x.IsPublished } )); if (response.Article != null) { response.Status = StatusCode.OK; } else { response.Status = StatusCode.NotFound; } } catch (Exception ex) { this.exceptionHandler.HandleException(ex); response.Status = StatusCode.InternalServerError; } return response; }
public override async Task <Article> GetArticle(GetArticleRequest getArticleRequest, ServerCallContext context) { var getArticle = _mapper.Map <GetArticleRequest, GetArticle>(getArticleRequest); return(_mapper.Map <ArticleModel, Article>(await _mediator.Send(getArticle))); }
public async Task GetArticleAsync_ArticleVersionNotFound() { // arrange var request = new GetArticleRequest { ArticleId = 1, LanguageId = 2 }; // act var result = await this.articleService.GetArticleAsync(request); // assert Assert.IsNotNull(result); Assert.AreEqual(StatusCode.NotFound, result.Status); }
public Task StartAsync(CancellationToken cancellationToken) { var request = new GetArticleRequest(_options); return(_getRequestAggreg.HandleAsync(request)); }