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()); }
protected override void SetupDatabase(IDocumentStore store) { store.ExecuteIndex(new AttendanceIndex()); store.ExecuteIndex(new FavFanIndex()); using (var session = store.OpenSession()) { session.Store(AttendanceData.GetFirst()); session.Store(AttendanceData.GetSecond()); session.Store(MeetingData.GetFirst()); session.Store(UserData.GetFirst()); session.Store(UserData.GetSecond()); session.SaveChanges(); } WaitForIndexing(store); }