public async Task TutorListQuery_Ok(long userId, string country, int page) { var query = new TutorListQuery(userId, country, page); var result = await _fixture.QueryBus.QueryAsync(query, default); result.Should().NotBeNull(); result.Count.Should().BeGreaterThan(0); }
public async Task <WebResponseWithFacet <TutorCardDto> > GetAsync( string term, string course, [ProfileModelBinder(ProfileServiceQuery.Country)] UserProfile profile, int page, [FromServices] ITutorSearch tutorSearch, CancellationToken token, int pageSize = 20) { term = term ?? string.Empty; course = course ?? string.Empty; term = $"{term} {course}".Trim(); //TODO make it better if (string.IsNullOrWhiteSpace(term)) { _userManager.TryGetLongUserId(User, out var userId); var query = new TutorListQuery(userId, profile.Country, page, pageSize); var result = await _queryBus.QueryAsync(query, token); result.Result = result.Result.Select(s => { s.Image = _urlBuilder.BuildUserImageEndpoint(s.UserId, s.Image); return(s); }); return(new WebResponseWithFacet <TutorCardDto> { Result = result.Result, Count = result.Count, NextPageLink = Url.RouteUrl("TutorSearch", new { page = ++page }) }); } else { var query = new TutorListTabSearchQuery(term, profile.Country, page, pageSize); var result = await tutorSearch.SearchAsync(query, token); //result.Result = result.Result.Select(s => //{ // s.Image = _urlBuilder.BuildUserImageEndpoint(s.UserId, s.Image); // return s; //}); return(new WebResponseWithFacet <TutorCardDto> { Result = result.Result, NextPageLink = Url.RouteUrl("TutorSearch", new { page = ++page, term }), Count = result.Count }); } }
public async Task TutorListQuery_PageCountOk(long userId) { var query = new TutorListQuery(userId, "IL", 0, int.MaxValue); var result = await _fixture.QueryBus.QueryAsync(query, default); result.Should().NotBeNull(); var count = result.Count; result.Count.Should().Be(result.Result.Count()); var query2 = new TutorListQuery(userId, "IL", 0); var result2 = await _fixture.QueryBus.QueryAsync(query2, default); result2.Count.Should().Be(count); }
public async Task <IEnumerable <FeedDto> > GetFeedAsync(GetFeedQuery query, CancellationToken token) { var tutorQuery = new TutorListQuery(query.UserId, query.Country, query.Page, _pageSize); return(await _queryBus.QueryAsync(tutorQuery, token).ContinueWith(r => r.Result.Result, token)); }