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

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

            var controller = new MsgController(data, Cloud, Logic)
            {
                CurrentUser = AdminUser
            };
            var result = await controller.Get(MsgData.FirstId) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();

            var viewModel = result.Value as MsgViewModel;

            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 <Msg> >()), Times.Once());
        }
示例#2
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);
        }
示例#3
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());
        }
示例#4
0
        protected override void SetupDatabase(IDocumentStore store)
        {
            store.ExecuteIndex(new MsgIndex());
            store.ExecuteIndex(new FavFanIndex());

            using (var session = store.OpenSession())
            {
                session.Store(MsgData.GetFirst());
                session.Store(UserData.GetFirst());
                session.SaveChanges();
            }

            WaitForIndexing(store);
        }
示例#5
0
        public async Task MsgByIdDataTest()
        {
            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();
            var loader = new MsgById()
            {
                Session = session, Id = MsgData.FirstId
            };
            await loader.Execute();

            loader.Result.Should().NotBeNull();
            loader.Result.Id.Should().Be(MsgData.FirstId);
            Assert.That(loader.Result, Is.DeepEqualTo(MsgData.GetFirst()));
        }
示例#6
0
        public void MsgMasterTest()
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Msg, MsgMaster>();
                cfg.CreateMap <MsgMaster, Msg>();
            });

            var mapper   = new Mapper(config);
            var master   = mapper.Map <MsgMaster>(MsgData.GetFirst());
            var document = mapper.Map <Msg>(master);

            master.Should().NotBeNull();
            document.Should().NotBeNull();
        }
示例#7
0
        protected override void SetupDatabase(IDocumentStore store)
        {
            store.ExecuteIndex(new MeetingIndex());
            store.ExecuteIndex(new MsgIndex());
            store.ExecuteIndex(new AttendanceIndex());
            store.ExecuteIndex(new TenantStatIndex());

            using (var session = store.OpenSession())
            {
                session.Store(MeetingData.GetFirst());
                session.Store(MsgData.GetFirst());
                session.Store(AttendanceData.GetFirst());
                session.Store(TenantData.GetFirst());
                session.SaveChanges();
            }

            WaitForIndexing(store);
        }
示例#8
0
        public async Task MsgControllerGetUnauthorised()
        {
            var data  = new MsgApiDataHandler();
            var model = MsgData.GetFirst();

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

            var controller = new MsgController(data, Cloud, Logic)
            {
                CurrentUser = NonTenantUser
            };
            var result = await controller.Get(MsgData.FirstId) as UnauthorizedResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <UnauthorizedResult>();

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <Loader <Msg> >()), Times.Once());
        }