public void BuildLogPaginationQuery(LogRecordPagination p, int[] selectedIndexes) { var a = new TestLogRecordManager(); var q = a.QueryBuilder(p); var res = _records.Where(q).ToArray(); res.Count().ShouldBe(selectedIndexes.Count()); for (int i = 0; i < selectedIndexes.Length; i++) { res.ShouldContain(x => x == _records.ElementAt(selectedIndexes[i])); } }
public async Task GetAll_ReturnsPage() { var page = new LogRecordPagination { Data = new[] { new LogRecord { Id = "a" }, new LogRecord { Id = "b" }, new LogRecord { Id = "c" }, new LogRecord { Id = "d" }, } }; var lm = new Mock <ILogRecordManager>(); lm.Setup(c => c.GetAll(It.IsAny <LogRecordPagination>())) .ReturnsAsync(page); var l = new Mock <ILogger <LogRecordController> >(); var ctrl = new LogRecordController(lm.Object, l.Object); var res = await ctrl.GetAll(logLevels : LogRecordLevel.Information); var ok = res.ShouldBeOfType <OkObjectResult>(); var v = ok.Value as LogRecordPagination; v.Data.Count().ShouldBe(page.Data.Count()); for (int i = 0; i < v.Data.Count(); i++) { page.Data.ShouldContain(x => x.Id == v.Data.ElementAt(i).Id); } }
public Func <LogRecord, bool> QueryBuilder(LogRecordPagination pagination) => BuildLogRecordPaginationQuery(pagination);