Add integration test for native read filter operations
This commit is contained in:
@@ -8,7 +8,6 @@
|
|||||||
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.1.2" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.1.2" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="2.1.2" />
|
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="2.1.2" />
|
||||||
<PackageReference Include="MongoDB.Driver" Version="2.13.2" />
|
<PackageReference Include="MongoDB.Driver" Version="2.13.2" />
|
||||||
<PackageReference Include="MongoDbGenericRepository" Version="1.4.8" />
|
|
||||||
<PackageReference Include="xunit" Version="2.4.1" />
|
<PackageReference Include="xunit" Version="2.4.1" />
|
||||||
<PackageReference Include="xunit.runner.console" Version="2.4.1">
|
<PackageReference Include="xunit.runner.console" Version="2.4.1">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
@@ -30,4 +29,8 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\MongoDbGenericRepository\MongoDbGenericRepository.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -205,6 +205,30 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True(null != result, GetTestName());
|
Assert.True(null != result, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetOneByFilterDefinitionAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var document = CreateTestDocument();
|
||||||
|
SUT.AddOne<T, TKey>(document);
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetOneAsync<T, TKey>(Builders<T>.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<T, TKey>(document);
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetOne<T, TKey>(Builders<T>.Filter.Eq(x => x.Id, document.Id), null, PartitionKey);
|
||||||
|
// Assert
|
||||||
|
Assert.True(null != result, GetTestName());
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task GetOneAsync()
|
public async Task GetOneAsync()
|
||||||
{
|
{
|
||||||
@@ -242,6 +266,30 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True(1 == count, GetTestName());
|
Assert.True(1 == count, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task AnyAsyncByDefinitionReturnsTrue()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var document = CreateTestDocument();
|
||||||
|
SUT.AddOne<T, TKey>(document);
|
||||||
|
// Act
|
||||||
|
var result = await SUT.AnyAsync<T, TKey>(Builders<T>.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<T, TKey>(document);
|
||||||
|
// Act
|
||||||
|
var result = await SUT.AnyAsync<T, TKey>(Builders<T>.Filter.Eq(x => x.Id, document.Init<TKey>()), null, PartitionKey);
|
||||||
|
// Assert
|
||||||
|
Assert.False(result, GetTestName());
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task AnyAsyncReturnsTrue()
|
public async Task AnyAsyncReturnsTrue()
|
||||||
{
|
{
|
||||||
@@ -266,6 +314,30 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.False(result, GetTestName());
|
Assert.False(result, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void AnyByDefinitionReturnsTrue()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var document = CreateTestDocument();
|
||||||
|
SUT.AddOne<T, TKey>(document);
|
||||||
|
// Act
|
||||||
|
var result = SUT.Any<T, TKey>(Builders<T>.Filter.Eq(x => x.Id, document.Id), null, PartitionKey);
|
||||||
|
// Assert
|
||||||
|
Assert.True(result, GetTestName());
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void AnyByDefinitionReturnsFalse()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var document = CreateTestDocument();
|
||||||
|
SUT.AddOne<T, TKey>(document);
|
||||||
|
// Act
|
||||||
|
var result = SUT.Any<T, TKey>(Builders<T>.Filter.Eq(x => x.Id, document.Init<TKey>()), null, PartitionKey);
|
||||||
|
// Assert
|
||||||
|
Assert.False(result, GetTestName());
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void AnyReturnsTrue()
|
public void AnyReturnsTrue()
|
||||||
{
|
{
|
||||||
@@ -290,6 +362,34 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.False(result, GetTestName());
|
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<T, TKey>(documents);
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetAllAsync<T, TKey>(Builders<T>.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<T, TKey>(documents);
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetAll<T, TKey>(Builders<T>.Filter.Eq(x => x.SomeContent, content), null, PartitionKey);
|
||||||
|
// Assert
|
||||||
|
Assert.True(5 == result.Count, GetTestName());
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task GetAllAsync()
|
public async Task GetAllAsync()
|
||||||
{
|
{
|
||||||
@@ -318,6 +418,34 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True(5 == result.Count, GetTestName());
|
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<T, TKey>(documents);
|
||||||
|
// Act
|
||||||
|
var result = await SUT.CountAsync<T, TKey>(Builders<T>.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<T, TKey>(documents);
|
||||||
|
// Act
|
||||||
|
var result = SUT.Count<T, TKey>(Builders<T>.Filter.Eq(x => x.SomeContent, content), null, PartitionKey);
|
||||||
|
// Assert
|
||||||
|
Assert.True(5 == result, GetTestName());
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task CountAsync()
|
public async Task CountAsync()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user