public async Task AttendanceControllerPostAdd() { var data = new AttendanceApiDataHandler(); var model = AttendanceData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Attendance> >())).Returns(model); var controller = new AttendanceController(data, Logic) { CurrentUser = AdminUser }; var viewModel = controller.Mapper.Map <AttendanceViewModel>(model); viewModel.Id = string.Empty; var result = await controller.Post(viewModel) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as ConfirmViewModel; check.Identity.Should().Be(model.Id); viewModel.Participants.Count().Should().Be(0); viewModel.CanAttend.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.Never); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Attendance> >()), Times.Once()); }
public async Task AttendanceControllerGetAdmin() { var data = new AttendanceApiDataHandler(); var master = UserData.GetFirstProfile(); var model = AttendanceData.GetFirst(); data.ResultParticipants = new List <ResultProfile>() { master }; data.Result.Setup(m => m.Execute(It.IsAny <AttendanceById>())).Returns(model); var controller = new AttendanceController(data, Logic) { CurrentUser = AdminUser }; var result = await controller.Get(AttendanceData.FirstId) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); var viewModel = result.Value as AttendanceViewModel; viewModel.Id.Should().Be(model.Id); viewModel.Name.Should().Be(model.Name); viewModel.AttendedWhen.Should().Be(model.AttendedWhen); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.Once()); }
public async Task AttendanceControllerPostEdit() { var data = new AttendanceApiDataHandler(); var model = AttendanceData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Attendance> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Attendance> >())).Returns(model); var controller = new AttendanceController(data, Logic) { CurrentUser = StandardUser }; var viewModel = controller.Mapper.Map <AttendanceViewModel>(model); var result = await controller.Post(viewModel) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as ConfirmViewModel; check.Identity.Should().Be(model.Id); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.AtLeastOnce); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Attendance> >()), Times.Once()); }
public async Task AttendanceControllerFilter() { var data = new AttendanceApiDataHandler(); var list = new List <AttendanceDisplay> { AttendanceData.GetFirstDisplay(false) }; var filter = new AttendanceFilter { TenantRestrict = true }; data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayByFilter>())).Returns(list); var controller = new AttendanceController(data, Logic) { CurrentUser = StandardUser }; var result = await controller.Filter(filter) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as PagedResult <IEnumerable <AttendanceDisplay> >; check.Should().NotBeNull(); check.Data.Count().Should().Be(list.Count); Assert.That(check.Data, Is.DeepEqualTo(list)); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayByFilter>()), Times.Once()); }
public async Task AttendanceControllerDisplayNull() { var data = new AttendanceApiDataHandler(); data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayById>())).Returns(null); var controller = new AttendanceController(data, Logic) { CurrentUser = StandardUser }; var result = await controller.Display(AttendanceData.FirstId) as NotFoundResult; result.Should().NotBeNull(); result.Should().BeOfType <NotFoundResult>(); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayById>()), Times.Once()); }
public async Task AttendanceControllerDisplayUnauthorized() { var data = new AttendanceApiDataHandler(); var display = AttendanceData.GetFirstDisplay(false); data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayById>())).Returns(display); var controller = new AttendanceController(data, Logic) { CurrentUser = NonTenantUser }; var result = await controller.Display(AttendanceData.FirstId) as UnauthorizedResult; result.Should().NotBeNull(); result.Should().BeOfType <UnauthorizedResult>(); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayById>()), Times.Once()); }
public async Task AttendanceControllerGetUnauthorised() { var data = new AttendanceApiDataHandler(); var model = AttendanceData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Attendance> >())).Returns(model); var controller = new AttendanceController(data, Logic) { CurrentUser = NonTenantUser }; var result = await controller.Get(AttendanceData.FirstId) as UnauthorizedResult; result.Should().NotBeNull(); result.Should().BeOfType <UnauthorizedResult>(); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.Once()); }
public async Task AttendanceControllerDisplay() { var data = new AttendanceApiDataHandler(); var display = AttendanceData.GetFirstDisplay(false); data.Result.Setup(m => m.Execute(It.IsAny <AttendanceDisplayById>())).Returns(display); var controller = new AttendanceController(data, Logic) { CurrentUser = AdminUser }; var result = await controller.Display(AttendanceData.FirstId) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); Assert.That(result.Value, Is.DeepEqualTo(display)); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <AttendanceDisplayById>()), Times.Once()); }
public async Task AttendanceControllerNoShowFail() { var data = new AttendanceApiDataHandler(); var confirm = ModelConfirm <Attendance> .CreateFailure("Failed"); data.Result.Setup(m => m.Execute(It.IsAny <AttendanceNoShow>())).Returns(false); data.ResultConfirm = confirm; var controller = new AttendanceController(data, Logic) { CurrentUser = AdminUser }; var result = await controller.NoShow(MeetingData.FirstId, StandardUser.Id) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <AttendanceNoShow>()), Times.Once); }
public async Task AttendanceControllerCheckIn() { var data = new AttendanceApiDataHandler(); var confirm = ModelConfirm <Attendance> .CreateSuccess(AttendanceData.GetFirst()); data.Result.Setup(m => m.Execute(It.IsAny <AttendanceCheckin>())).Returns(true); data.ResultConfirm = confirm; var controller = new AttendanceController(data, Logic) { CurrentUser = AdminUser }; var result = await controller.Checkin(MeetingData.FirstId, StandardUser.Id) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <AttendanceCheckin>()), Times.Once); }
public async Task AttendanceControllerPostUnauthorised() { var data = new AttendanceApiDataHandler(); var model = AttendanceData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Attendance> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Attendance> >())).Returns(model); var controller = new AttendanceController(data, Logic) { CurrentUser = NonTenantUser }; var viewModel = controller.Mapper.Map <AttendanceViewModel>(model); var result = await controller.Post(viewModel) as UnauthorizedResult; result.Should().NotBeNull(); result.Should().BeOfType <UnauthorizedResult>(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Attendance> >()), Times.AtLeastOnce); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Attendance> >()), Times.Never); }