public async Task MeetingControllerDelete() { var data = new MeetingApiDataHandler(); var model = MeetingData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Meeting> >())).Returns(model); var controller = new MeetingController(data, Logic) { CurrentUser = StandardUser }; var result = await controller.Delete(MeetingData.FirstId) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); var viewModel = result.Value as ConfirmViewModel; viewModel.Success.Should().BeTrue(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Meeting> >()), Times.Once()); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Meeting> >()), Times.Once()); }
public async Task MeetingControllerGetAdmin() { var data = new MeetingApiDataHandler(); var model = MeetingData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(model); var controller = new MeetingController(data, Logic) { CurrentUser = AdminUser }; var result = await controller.Get(MeetingData.FirstId) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); var viewModel = result.Value as MeetingViewModel; viewModel.Id.Should().Be(model.Id); viewModel.Name.Should().Be(model.Name); viewModel.Text.Should().Be(model.Text); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Meeting> >()), Times.Once()); }
public async Task MeetingControllerRecurUnauthorised() { var data = new MeetingApiDataHandler(); var logic = new InteractApiLogicHandler(); var viewModel = new RecurViewModel() { MeetingId = MeetingData.FirstId, When = DateHelper.FormatDayStart(DateTime.UtcNow) }; data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(MeetingData.GetFirst()); var controller = new MeetingController(data, logic) { CurrentUser = NonTenantUser }; var result = await controller.Recur(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 <Meeting> >()), Times.Once); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Meeting> >()), Times.Never()); }
public async Task MeetingControllerFilter() { var data = new MeetingApiDataHandler(); var list = new List <MeetingDisplay> { MeetingData.GetFirstDisplay(false) }; var filter = new MeetingFilter { TenantRestrict = true }; data.Result.Setup(m => m.Execute(It.IsAny <MeetingDisplayByFilter>())).Returns(list); var controller = new MeetingController(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 <MeetingDisplay> >; 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 <MeetingDisplayByFilter>()), Times.Once()); }
public async Task MeetingControllerRecurAttendFail() { var data = new MeetingApiDataHandler(); var logic = new InteractApiLogicHandler(); var viewModel = new RecurViewModel() { MeetingId = MeetingData.FirstId, When = DateHelper.FormatDayStart(DateTime.UtcNow) }; data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(MeetingData.GetFirst()); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Meeting> >())).Returns(MeetingData.GetSecond()); logic.Result.Setup(m => m.Execute(It.IsAny <AttendCheck>())).Returns(false); var controller = new MeetingController(data, logic) { CurrentUser = StandardUser }; var result = await controller.Recur(viewModel) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as ConfirmViewModel; check.Success.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Meeting> >()), Times.Once); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Meeting> >()), Times.Never()); }
public async Task MeetingControllerPostEdit() { var data = new MeetingApiDataHandler(); var model = MeetingData.GetFirst(); var attendance = new List <Attendance>() { AttendanceData.GetFirst(), AttendanceData.GetSecond() }; var users = new List <User>() { UserData.GetFirst(), UserData.GetSecond() }; data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Meeting> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Loaders <Attendance> >())).Returns(attendance); data.Result.Setup(m => m.Execute(It.IsAny <Loaders <User> >())).Returns(users); var controller = new MeetingController(data, new LogicHandler() { DataHandler = data }) { CurrentUser = StandardUser }; var viewModel = controller.Mapper.Map <MeetingViewModel>(model); viewModel.Attendees = new List <ResultProfile>() { UserData.GetFirstProfile(), UserData.GetSecondProfile() }; 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 <Meeting> >()), Times.AtLeastOnce); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Meeting> >()), Times.Never()); }
public async Task MeetingControllerGetNull() { var data = new MeetingApiDataHandler(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(null); var controller = new MeetingController(data, Logic) { CurrentUser = StandardUser }; var result = await controller.Get(MeetingData.FirstId) as NotFoundResult; result.Should().NotBeNull(); result.Should().BeOfType <NotFoundResult>(); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Meeting> >()), Times.Once()); }
public async Task MeetingControllerDisplayUnauthorized() { var data = new MeetingApiDataHandler(); var display = MeetingData.GetFirstDisplay(false); data.Result.Setup(m => m.Execute(It.IsAny <MeetingDisplayById>())).Returns(display); var controller = new MeetingController(data, Logic) { CurrentUser = NonTenantUser }; var result = await controller.Display(MeetingData.FirstId) as UnauthorizedResult; result.Should().NotBeNull(); result.Should().BeOfType <UnauthorizedResult>(); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <MeetingDisplayById>()), Times.Once()); }
public async Task MeetingControllerGetUnauthorised() { var data = new MeetingApiDataHandler(); var model = MeetingData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(model); var controller = new MeetingController(data, Logic) { CurrentUser = NonTenantUser }; var result = await controller.Get(MeetingData.FirstId) as UnauthorizedResult; result.Should().NotBeNull(); result.Should().BeOfType <UnauthorizedResult>(); data.HasExecuted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Meeting> >()), Times.Once()); }
public async Task MeetingControllerDisplay() { var data = new MeetingApiDataHandler(); var display = MeetingData.GetFirstDisplay(false); data.Result.Setup(m => m.Execute(It.IsAny <MeetingDisplayById>())).Returns(display); var controller = new MeetingController(data, Logic) { CurrentUser = AdminUser }; var result = await controller.Display(MeetingData.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 <MeetingDisplayById>()), Times.Once()); }
public async Task MeetingControllerCloseNotDone() { var data = new MeetingApiDataHandler(); var logic = new InteractApiLogicHandler(); data.Result.Setup(m => m.Execute(It.IsAny <MeetingById>())).Returns(MeetingData.GetFirst()); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Meeting> >())).Returns(MeetingData.GetSecond()); var attendance = AttendanceData.GetFirst(); attendance.HasAttended = false; data.ResultAttendances = new List <Attendance>() { attendance }; var controller = new MeetingController(data, logic) { CurrentUser = StandardUser }; var result = await controller.Close(MeetingData.FirstId) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().NotBeNull(); var check = result.Value as ConfirmViewModel; check.Success.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <MeetingById>()), Times.Once); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Meeting> >()), Times.Never()); }
public async Task MeetingControllerPostUnauthorised() { var data = new MeetingApiDataHandler(); var model = MeetingData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Meeting> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <Meeting> >())).Returns(model); var controller = new MeetingController(data, Logic) { CurrentUser = NonTenantUser }; var viewModel = controller.Mapper.Map <MeetingViewModel>(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 <Meeting> >()), Times.AtLeastOnce); data.Result.Verify(s => s.Execute(It.IsAny <Persist <Meeting> >()), Times.Never); }