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()); } }