From f888d5996babec7841a90ec419c9063fb6c3155f Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Sun, 12 Dec 2021 11:02:17 +0700 Subject: [PATCH] Add integration test for native read filter operations --- .../CoreIntegrationTests.csproj | 5 +- .../MongoDbTKeyDocumentTestBase.Main.cs | 128 ++++++++++++++++++ 2 files changed, 132 insertions(+), 1 deletion(-) diff --git a/CoreIntegrationTests/CoreIntegrationTests.csproj b/CoreIntegrationTests/CoreIntegrationTests.csproj index e8ecb77..493a082 100644 --- a/CoreIntegrationTests/CoreIntegrationTests.csproj +++ b/CoreIntegrationTests/CoreIntegrationTests.csproj @@ -8,7 +8,6 @@ - all @@ -30,4 +29,8 @@ + + + + diff --git a/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.Main.cs b/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.Main.cs index fba2045..1162a32 100644 --- a/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.Main.cs +++ b/CoreIntegrationTests/Infrastructure/MongoDbTKeyDocumentTestBase.Main.cs @@ -204,6 +204,30 @@ namespace CoreIntegrationTests.Infrastructure // Assert Assert.True(null != result, GetTestName()); } + + [Fact] + public async Task GetOneByFilterDefinitionAsync() + { + // Arrange + var document = CreateTestDocument(); + SUT.AddOne(document); + // Act + var result = await SUT.GetOneAsync(Builders.Filter.Eq(x => x.Id, document.Id), null, PartitionKey); + // Assert + Assert.True(null != result, GetTestName()); + } + + [Fact] + public void GetOneByFilterDefinition() + { + // Arrange + var document = CreateTestDocument(); + SUT.AddOne(document); + // Act + var result = SUT.GetOne(Builders.Filter.Eq(x => x.Id, document.Id), null, PartitionKey); + // Assert + Assert.True(null != result, GetTestName()); + } [Fact] public async Task GetOneAsync() @@ -241,6 +265,30 @@ namespace CoreIntegrationTests.Infrastructure // Assert Assert.True(1 == count, GetTestName()); } + + [Fact] + public async Task AnyAsyncByDefinitionReturnsTrue() + { + // Arrange + var document = CreateTestDocument(); + SUT.AddOne(document); + // Act + var result = await SUT.AnyAsync(Builders.Filter.Eq(x => x.Id, document.Id), null, PartitionKey); + // Assert + Assert.True(result, GetTestName()); + } + + [Fact] + public async Task AnyAsyncByDefinitionReturnsFalse() + { + // Arrange + var document = CreateTestDocument(); + SUT.AddOne(document); + // Act + var result = await SUT.AnyAsync(Builders.Filter.Eq(x => x.Id, document.Init()), null, PartitionKey); + // Assert + Assert.False(result, GetTestName()); + } [Fact] public async Task AnyAsyncReturnsTrue() @@ -265,6 +313,30 @@ namespace CoreIntegrationTests.Infrastructure // Assert Assert.False(result, GetTestName()); } + + [Fact] + public void AnyByDefinitionReturnsTrue() + { + // Arrange + var document = CreateTestDocument(); + SUT.AddOne(document); + // Act + var result = SUT.Any(Builders.Filter.Eq(x => x.Id, document.Id), null, PartitionKey); + // Assert + Assert.True(result, GetTestName()); + } + + [Fact] + public void AnyByDefinitionReturnsFalse() + { + // Arrange + var document = CreateTestDocument(); + SUT.AddOne(document); + // Act + var result = SUT.Any(Builders.Filter.Eq(x => x.Id, document.Init()), null, PartitionKey); + // Assert + Assert.False(result, GetTestName()); + } [Fact] public void AnyReturnsTrue() @@ -289,6 +361,34 @@ namespace CoreIntegrationTests.Infrastructure // Assert Assert.False(result, GetTestName()); } + + [Fact] + public async Task GetAllByDefinitionAsync() + { + // Arrange + var documents = CreateTestDocuments(5); + var content = GetContent(); + documents.ForEach(e => e.SomeContent = content); + SUT.AddMany(documents); + // Act + var result = await SUT.GetAllAsync(Builders.Filter.Eq(x => x.SomeContent, content), null, PartitionKey); + // Assert + Assert.True(5 == result.Count, GetTestName()); + } + + [Fact] + public void GetAllByDefinition() + { + // Arrange + var documents = CreateTestDocuments(5); + var content = GetContent(); + documents.ForEach(e => e.SomeContent = content); + SUT.AddMany(documents); + // Act + var result = SUT.GetAll(Builders.Filter.Eq(x => x.SomeContent, content), null, PartitionKey); + // Assert + Assert.True(5 == result.Count, GetTestName()); + } [Fact] public async Task GetAllAsync() @@ -317,6 +417,34 @@ namespace CoreIntegrationTests.Infrastructure // Assert Assert.True(5 == result.Count, GetTestName()); } + + [Fact] + public async Task CountByDefinitionAsync() + { + // Arrange + var documents = CreateTestDocuments(5); + var content = GetContent(); + documents.ForEach(e => e.SomeContent = content); + SUT.AddMany(documents); + // Act + var result = await SUT.CountAsync(Builders.Filter.Eq(x => x.SomeContent, content), null, PartitionKey); + // Assert + Assert.True(5 == result, GetTestName()); + } + + [Fact] + public void CountByDefinition() + { + // Arrange + var documents = CreateTestDocuments(5); + var content = GetContent(); + documents.ForEach(e => e.SomeContent = content); + SUT.AddMany(documents); + // Act + var result = SUT.Count(Builders.Filter.Eq(x => x.SomeContent, content), null, PartitionKey); + // Assert + Assert.True(5 == result, GetTestName()); + } [Fact] public async Task CountAsync()