Пример #1
0
        public async Task CanPersistDbFeatures()
        {
            // Arrange
            var documentStoreProvider = DocumentStoreProvider;
            var expectedFeature1      = TestExtensions.GenerateDbFeature("MyProduct", "MyGroup", "MyFirstFeature", "0.0.0");
            var expectedFeature2      = TestExtensions.GenerateDbFeature("MyProduct", "MyGroup", "MySecondFeature", "0.0.0");

            // Act
            var sut = new FeatureManager(documentStoreProvider, configurationManager, logger);
            await sut.PersistDbFeatures(new[] { expectedFeature1, expectedFeature2 });

            // Assert
            using (var session = documentStoreProvider.Store.OpenAsyncSession())
            {
                var actualFeatures = await session.Query <DbFeature>().ToListAsync();

                actualFeatures.ShouldNotBeNull();
                actualFeatures.Count.ShouldBe(2);

                var actualFeature1 = actualFeatures.FirstOrDefault();
                actualFeature1.ShouldNotBeNull();
                actualFeature1.GetIdentifier().ShouldBe(expectedFeature1.GetIdentifier());

                var actualFeature2 = actualFeatures.LastOrDefault();
                actualFeature2.ShouldNotBeNull();
                actualFeature2.GetIdentifier().ShouldBe(expectedFeature2.GetIdentifier());
            }
        }