From 0c1aaccebb121b678ce5fe78bfc126b4cc1738d4 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Tue, 11 Dec 2018 17:08:51 +0300 Subject: [PATCH] ConfigureExtraProperties for test aggregate roots. --- .../TestApp/SecondContext/SecondDbContext.cs | 7 +++++ .../Domain/ConcurrencyStamp_Tests.cs | 8 ++++++ .../TestMigrationsDbContext.cs | 21 +++++++++++++++ .../EntityFrameworkCore/TestAppDbContext.cs | 16 ++++++++++++ .../TestApp/Testing/ConcurrencyStamp_Tests.cs | 26 +++++++++++++++++++ 5 files changed, 78 insertions(+) create mode 100644 framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Domain/ConcurrencyStamp_Tests.cs create mode 100644 framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/ConcurrencyStamp_Tests.cs diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/SecondDbContext.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/SecondDbContext.cs index f07ffbc5a3..bb2f0504ad 100644 --- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/SecondDbContext.cs +++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests.SecondContext/Volo/Abp/EntityFrameworkCore/TestApp/SecondContext/SecondDbContext.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.Modeling; namespace Volo.Abp.EntityFrameworkCore.TestApp.SecondContext { @@ -20,6 +21,12 @@ namespace Volo.Abp.EntityFrameworkCore.TestApp.SecondContext modelBuilder.Entity(b => { b.HasKey(p => new { p.PersonId, p.Number }); + b.ConfigureExtraProperties(); + }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); }); } } diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Domain/ConcurrencyStamp_Tests.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Domain/ConcurrencyStamp_Tests.cs new file mode 100644 index 0000000000..ffda538b50 --- /dev/null +++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Domain/ConcurrencyStamp_Tests.cs @@ -0,0 +1,8 @@ +using Volo.Abp.TestApp.Testing; + +namespace Volo.Abp.EntityFrameworkCore.Domain +{ + public class ConcurrencyStamp_Tests : ConcurrencyStamp_Tests + { + } +} diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/TestMigrationsDbContext.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/TestMigrationsDbContext.cs index cb9726d6b4..68e6ac97cb 100644 --- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/TestMigrationsDbContext.cs +++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/TestMigrationsDbContext.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.Modeling; using Volo.Abp.EntityFrameworkCore.TestApp.SecondContext; using Volo.Abp.EntityFrameworkCore.TestApp.ThirdDbContext; using Volo.Abp.TestApp.Domain; @@ -29,6 +30,26 @@ namespace Volo.Abp.EntityFrameworkCore { b.HasKey(p => new { p.PersonId, p.Number }); }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); } } } diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/TestAppDbContext.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/TestAppDbContext.cs index 00e052d2dd..bef7830567 100644 --- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/TestAppDbContext.cs +++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/TestAppDbContext.cs @@ -1,5 +1,6 @@ using Microsoft.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.Modeling; using Volo.Abp.EntityFrameworkCore.TestApp.ThirdDbContext; using Volo.Abp.TestApp.Domain; @@ -23,10 +24,25 @@ namespace Volo.Abp.TestApp.EntityFrameworkCore { base.OnModelCreating(modelBuilder); + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); + modelBuilder.Entity(b => { b.HasKey(p => new {p.PersonId, p.Number}); }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); + + modelBuilder.Entity(b => + { + b.ConfigureExtraProperties(); + }); } } } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/ConcurrencyStamp_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/ConcurrencyStamp_Tests.cs new file mode 100644 index 0000000000..bc83d08216 --- /dev/null +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/ConcurrencyStamp_Tests.cs @@ -0,0 +1,26 @@ +using System.Threading.Tasks; +using Volo.Abp.Modularity; +using Volo.Abp.TestApp.Domain; +using Xunit; + +namespace Volo.Abp.TestApp.Testing +{ + public class ConcurrencyStamp_Tests : TestAppTestBase + where TStartupModule : IAbpModule + { + protected readonly ICityRepository CityRepository; + + public ConcurrencyStamp_Tests() + { + CityRepository = GetRequiredService(); + } + + [Fact] + public async Task Should_Not_Allow_To_Update_If_The_Entity_Has_Changed() + { + var london = await CityRepository.FindByNameAsync("London"); + london.Name = "London-1"; + await CityRepository.UpdateAsync(london); + } + } +}