Example #1
0
        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());
        }
Example #2
0
        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());
        }
Example #3
0
        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());
        }