예제 #1
0
        public async Task MeetingDisplayByFilterDataTestAuthor()
        {
            var filter = new MeetingFilter {
                AuthorKeys = new List <string>()
                {
                    UserData.FirstId
                }, Take = 10
            };

            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();

            var query = new MeetingDisplayByFilter {
                Session = session, Filter = filter, CurrentUser = StandardUser
            };
            await query.Execute();

            query.Result.Should().NotBeNull();
            query.Result.Count().Should().Be(1);
            Assert.That(query.Result.First(), Is.DeepEqualTo(MeetingData.GetFirstDisplay(false)));
        }
예제 #2
0
        public async Task MeetingTypeControllerDisplay()
        {
            var data    = new MeetingTypeApiDataHandler();
            var display = MeetingTypeData.GetFirstDisplay(false);

            data.Result.Setup(m => m.Execute(It.IsAny <MeetingTypeDisplayById>())).Returns(display);

            var controller = new MeetingTypeController(data, Logic)
            {
                CurrentUser = AdminUser
            };
            var result = await controller.Display(MeetingTypeData.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 <MeetingTypeDisplayById>()), Times.Once());
        }
예제 #3
0
        public async Task MsgByIdDataTestReply()
        {
            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();

            await session.StoreAsync(MsgData.GetSecond());

            await session.SaveChangesAsync();

            WaitForIndexing(store);

            var loader = new MsgById()
            {
                Session = session, Id = MsgData.SecondId
            };
            await loader.Execute();

            loader.Result.Should().NotBeNull();
            loader.Result.Id.Should().Be(MsgData.SecondId);
            Assert.That(loader.Result, Is.DeepEqualTo(MsgData.GetSecond()));
        }
예제 #4
0
        public async Task SignupControllerAuthTest()
        {
            var data  = new SignupDataHandler();
            var logic = new CoreApiLogicHandler();
            var entry = SignupData.GetEntry();

            data.Result.Setup(m => m.Execute(It.IsAny <TenantByEntryKey>())).Returns(TenantData.GetFirst());

            var controller = new SignupController(data, Cloud, logic);
            var result     = await controller.Entry(entry) as OkObjectResult;

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

            Assert.That(result.Value, Is.DeepEqualTo(entry));

            logic.HasExecuted.Should().BeFalse();

            data.HasExecuted.Should().BeTrue();
            data.HasCommitted.Should().BeFalse();
            data.Result.Verify(s => s.Execute(It.IsAny <TenantByEntryKey>()), Times.Once);
        }
예제 #5
0
        public async Task DashControllerStatsTest()
        {
            var data    = new HomeApiDataHandler();
            var display = new StatsDisplay
            {
                Tenant   = TenantData.GetFirstDisplay(),
                Meetings = new List <MeetingDisplay>()
                {
                    MeetingData.GetFirstDisplay(false)
                },
                Msgs = new List <MsgDisplay>()
                {
                    MsgData.GetFirstDisplay(false)
                },
            };

            data.Result.Setup(m => m.Execute(It.IsAny <StatsComposite>())).Returns(display);

            var controller = new DashController(data, Logic)
            {
                CurrentUser = StandardUser
            };
            var result = await controller.Stats() as OkObjectResult;

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

            var check = result.Value as StatsViewModel;

            check.Should().NotBeNull();
            check.Meetings.Count().Should().Be(0);
            check.Messages.Count().Should().Be(0);
            check.Success.Should().BeTrue();
            Assert.That(check.Tenant, Is.DeepEqualTo(display.Tenant));

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <StatsComposite>()), Times.Once());
        }
예제 #6
0
        public void EnumDictionaryLoadTest()
        {
            var settings = SettingsLoader.CreateDictionary <AnimalType, Animal>("Animals");

            // Dictionary with non string TKey
            Assert.That(settings, Is.DeepEqualTo(
                            new Dictionary <AnimalType, Animal>
            {
                { AnimalType.Parrot, new Animal {
                      Name = "Polly", Talks = true
                  } },
                { AnimalType.Rabbit, new Animal {
                      Name = "Beatrice", Talks = false
                  } },
                { AnimalType.Fox, new Animal {
                      Name = "John", Talks = false
                  } },
            }).WithComparisonConfig(new ComparisonConfig()
            {
                IgnoreCollectionOrder = true
            }));
        }
예제 #7
0
        public void DirectClassArrayLoadTest()
        {
            var settings = SettingsLoader.CreateArray <Nested>("MyArrayProperty");

            // Array
            Assert.That(settings, Is.DeepEqualTo(
                            new[]
            {
                new Nested {
                    Foo = "Foo Primary", Bar = 420
                },
                new Nested {
                    Foo = "Foo 1", Bar = 421
                },
                new Nested {
                    Foo = "Foo 2", Bar = 422
                },
            }).WithComparisonConfig(new ComparisonConfig()
            {
                IgnoreCollectionOrder = true
            }));
        }
예제 #8
0
        public void ArrayLoadTest()
        {
            var settings = SettingsLoader.Create <ArraySettings>();

            // Array
            Assert.That(settings.MySimpleArrayProperty, Is.EquivalentTo(
                            new[]
            {
                "Foo Primary", "Foo 1", "Foo 2"
            }));
            Assert.That(settings.MyNumericArrayProperty, Is.EqualTo(
                            new decimal[]
            {
                1, 2, 3, 4
            }));
            Assert.That(settings.MyArrayProperty, Is.DeepEqualTo(
                            new[]
            {
                new Nested {
                    Foo = "Foo Primary", Bar = 420
                },
                new Nested {
                    Foo = "Foo 1", Bar = 421
                },
                new Nested {
                    Foo = "Foo 2", Bar = 422
                },
            })
                        .WithComparisonConfig(new ComparisonConfig()
            {
                IgnoreCollectionOrder = true
            }));
            Assert.That(settings.LostNumbersArray, Is.EqualTo(
                            new[]
            {
                4, 8, 15, 16, 23, 42
            }));
        }
        static void AssertRoundTrip(MapData map)
        {
            var roundTripped = RoundTrip(map);

            Assert.That(roundTripped, Is.DeepEqualTo(map));
        }
예제 #10
0
        public void GetValueTest()
        {
            var result = SettingsLoader.Create <string>("Foo");

            Assert.That(result, Is.EqualTo("Foo from database"));
        }