Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Added tests.
  • Loading branch information
fiseni committed Jul 2, 2023
commit 9d8366802a39ce3288d5b29dbe25118d2cc9f1b2
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,13 @@ public void FlagsAsNoTracking_GivenSpecWithAsNoTracking()

spec.AsNoTracking.Should().Be(true);
}

[Fact]
public void FlagsAsNoTracking_GivenSpecWithAsTrackingAndEndWithAsNoTracking()
{
var spec = new CompanyByIdWithAsTrackingAsUntrackedSpec(1);

spec.AsNoTracking.Should().Be(true);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,13 @@ public void FlagsAsNoTracking_GivenSpecWithAsNoTrackingWithIdentityResolution()

spec.AsNoTrackingWithIdentityResolution.Should().Be(true);
}

[Fact]
public void FlagsAsNoTracking_GivenSpecWithAsTrackingAndEndWithAsNoTrackingWithIdentityResolution()
{
var spec = new CompanyByIdWithAsTrackingAsUntrackedWithIdentityResolutionSpec(1);

spec.AsNoTrackingWithIdentityResolution.Should().Be(true);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
using Ardalis.Specification.UnitTests.Fixture.Specs;
using FluentAssertions;
using Xunit;

namespace Ardalis.Specification.UnitTests.BuilderTests
{
public class SpecificationBuilderExtensions_AsTracking
{
[Fact]
public void DoesNothing_GivenSpecWithoutAsTracking()
{
var spec = new StoreEmptySpec();

spec.AsTracking.Should().Be(false);
}

[Fact]
public void DoesNothing_GivenAsTrackingWithFalseCondition()
{
var spec = new CompanyByIdWithFalseConditions(1);

spec.AsTracking.Should().Be(false);
}

[Fact]
public void FlagsAsTracking_GivenSpecWithAsTracking()
{
var spec = new CompanyByIdAsTrackedSpec(1);

spec.AsTracking.Should().Be(true);
}

[Fact]
public void FlagsAsTracking_GivenSpecWithAsNoTrackingAndEndWithAsTracking()
{
var spec = new CompanyByIdWithAsNoTrackingAsTrackedSpec(1);

spec.AsTracking.Should().Be(true);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using Ardalis.Specification.UnitTests.Fixture.Entities;

namespace Ardalis.Specification.UnitTests.Fixture.Specs
{
public class CompanyByIdAsTrackedSpec : Specification<Company>, ISingleResultSpecification<Company>
{
public CompanyByIdAsTrackedSpec(int id)
{
Query.Where(company => company.Id == id).AsTracking();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using Ardalis.Specification.UnitTests.Fixture.Entities;

namespace Ardalis.Specification.UnitTests.Fixture.Specs
{
public class CompanyByIdWithAsNoTrackingAsTrackedSpec : Specification<Company>, ISingleResultSpecification<Company>
{
public CompanyByIdWithAsNoTrackingAsTrackedSpec(int id)
{
Query.Where(company => company.Id == id).AsNoTracking().AsNoTrackingWithIdentityResolution().AsTracking();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using Ardalis.Specification.UnitTests.Fixture.Entities;

namespace Ardalis.Specification.UnitTests.Fixture.Specs
{
public class CompanyByIdWithAsTrackingAsUntrackedSpec : Specification<Company>, ISingleResultSpecification<Company>
{
public CompanyByIdWithAsTrackingAsUntrackedSpec(int id)
{
Query.Where(company => company.Id == id).AsTracking().AsNoTracking();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Ardalis.Specification.UnitTests.Fixture.Entities;

namespace Ardalis.Specification.UnitTests.Fixture.Specs
{
public class CompanyByIdWithAsTrackingAsUntrackedWithIdentityResolutionSpec : Specification<Company>,
ISingleResultSpecification<Company>
{
public CompanyByIdWithAsTrackingAsUntrackedWithIdentityResolutionSpec(int id)
{
Query.Where(company => company.Id == id).AsTracking().AsNoTrackingWithIdentityResolution();
}
}
}