public async Task DashControllerHomeTest() { var data = new HomeApiDataHandler(); var attendance = AttendanceData.GetFirstDisplay(false); attendance.When = DateTime.UtcNow.AddDays(2); var display = new HomeDisplay { Attendances = new List <AttendanceDisplay>() { attendance }, Msgs = new List <MsgDisplay>() { MsgData.GetFirstDisplay(false) }, }; data.Result.Setup(m => m.Execute(It.IsAny <HomeComposite>())).Returns(display); var controller = new DashController(data, new LogicHandler()) { CurrentUser = StandardUser }; var result = await controller.Home() as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as HomeViewModel; check.Success.Should().BeTrue(); check.Should().NotBeNull(); check.Attendance.Count().Should().Be(8); check.Msg.Count().Should().Be(1); check.Attendance.First().Total.Should().Be(0); check.Attendance.First().When.Should().BeBefore(DateTime.UtcNow); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <HomeComposite>()), Times.Once()); }
public async Task DashControllerStatsTest() { var data = new HomeApiDataHandler(); var display = new StatsDisplay { Tenant = TenantData.GetFirstDisplay(), Meetings = new List <MeetingDisplay>() { MeetingData.GetFirstDisplay(false) }, Msgs = new List <MsgDisplay>() { MsgData.GetFirstDisplay(false) }, }; data.Result.Setup(m => m.Execute(It.IsAny <StatsComposite>())).Returns(display); var controller = new DashController(data, Logic) { CurrentUser = StandardUser }; var result = await controller.Stats() as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as StatsViewModel; check.Should().NotBeNull(); check.Meetings.Count().Should().Be(0); check.Messages.Count().Should().Be(0); check.Success.Should().BeTrue(); Assert.That(check.Tenant, Is.DeepEqualTo(display.Tenant)); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <StatsComposite>()), Times.Once()); }