public async Task List_ReturnViewResult() { // Arrange var traceLogService = Substitute.For <ITraceLogService>(); var usernames = _traceLogs.Select(t => t.PerformedBy).OrderBy(t => t).Distinct().ToList(); traceLogService.GetTraceLogs(Arg.Any <TraceLogPagedDataRequest>()).Returns(_traceLogs); traceLogService.GetPerformedUsernames().Returns(usernames); var sut = new TraceLogsController(traceLogService); // Act var result = await sut.List() as ViewResult; // Assert Assert.IsNotNull(result); Assert.AreEqual("List", result.ViewName); var model = (TraceLogSearchModel)result.Model; Assert.AreEqual(3, model.AvailableUsernames.Count); Assert.AreEqual("All", model.AvailableUsernames[0].Text); Assert.AreEqual("", model.AvailableUsernames[0].Value); Assert.AreEqual(usernames[0], model.AvailableUsernames[1].Text); Assert.AreEqual(usernames[0], model.AvailableUsernames[1].Value); Assert.AreEqual(usernames[1], model.AvailableUsernames[2].Text); Assert.AreEqual(usernames[1], model.AvailableUsernames[2].Value); }
public async Task List_PostDataSourceRequestAndTraceLogSearchModel_ReturnJsonResult() { // Arrange var traceLogService = Substitute.For <ITraceLogService>(); traceLogService.GetTraceLogs(Arg.Any <TraceLogPagedDataRequest>()).Returns(_traceLogs); var sut = new TraceLogsController(traceLogService); var request = new DataSourceRequest { Sorts = new List <SortDescriptor>() }; var model = new TraceLogSearchModel(); // Act var result = await sut.List(request, model) as JsonResult; // Assert Assert.IsNotNull(result); var dataSourceResult = (DataSourceResult)result.Data; var models = (IEnumerable <TraceLogModel>)dataSourceResult.Data; Assert.AreEqual(3, models.Count()); }