示例#1
0
        public async Task MsgControllerPostUnauthorised()
        {
            var data  = new MsgApiDataHandler();
            var model = MsgData.GetFirst();

            data.Result.Setup(m => m.Execute(It.IsAny <Loader <Msg> >())).Returns(model);
            data.Result.Setup(m => m.Execute(It.IsAny <Persist <Msg> >())).Returns(model);

            var controller = new MsgController(data, Cloud, Logic)
            {
                CurrentUser = NonTenantUser
            };
            var viewModel = controller.Mapper.Map <MsgViewModel>(model);

            viewModel.Files      = new List <VisibleDisplay>();
            viewModel.Recipients = new List <ResultProfile>()
            {
                UserData.GetFirstProfile(), UserData.GetSecondProfile()
            };

            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 <Msg> >()), Times.AtLeastOnce);
            data.Result.Verify(s => s.Execute(It.IsAny <Persist <Msg> >()), Times.Never);
        }
示例#2
0
        public async Task MsgControllerPostEdit()
        {
            var data  = new MsgApiDataHandler();
            var model = MsgData.GetFirst();

            data.Result.Setup(m => m.Execute(It.IsAny <Loader <Msg> >())).Returns(model);
            data.Result.Setup(m => m.Execute(It.IsAny <Persist <Msg> >())).Returns(model);

            var controller = new MsgController(data, Cloud, Logic)
            {
                CurrentUser = StandardUser
            };
            var viewModel = controller.Mapper.Map <MsgViewModel>(model);

            viewModel.Files      = new List <VisibleDisplay>();
            viewModel.Recipients = 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 <Msg> >()), Times.AtLeastOnce);
            data.Result.Verify(s => s.Execute(It.IsAny <Persist <Msg> >()), Times.Once());
        }