refactoring, improvements, fixes, etc...
This commit is contained in:
parent
5cc7ff9529
commit
93482b5ba6
|
|
@ -0,0 +1,39 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AyCode.Core.Server\AyCode.Core.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Core.Tests\AyCode.Core.Tests.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Core\AyCode.Core.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Entities.Server\AyCode.Entities.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.Addresses;
|
||||
using AyCode.Interfaces.Addresses;
|
||||
using AyCode.Interfaces.Addresses.Dtos;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class Address : AcAddress, IAcAddress, IAcAddressDtoBase
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.ServiceProviders;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class Company : AcServiceProvider<User, UserToCompany>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.Messages;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class EmailMessage : AcEmailMessage<EmailRecipient>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using AyCode.Entities.Messages;
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class EmailRecipient : AcEmailRecipient<EmailMessage>
|
||||
{
|
||||
public EmailRecipient()
|
||||
{
|
||||
}
|
||||
|
||||
public EmailRecipient(Guid id, Guid recipientId, Guid emailMessageId, string emailAddress) : base(id, recipientId, emailMessageId, emailAddress)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.Profiles;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class Profile : AcProfile<Address>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.Users;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class User : AcUser<Profile, Company, UserToCompany, Address>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.Users;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class UserToCompany: AcUserToServiceProvider<User, Company>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Entities.Users;
|
||||
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals")]
|
||||
[assembly: InternalsVisibleTo("AyCode.Database.Tests.Users.Internals.UserDbContext")]
|
||||
|
||||
namespace AyCode.Core.Tests.Internal.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public class UserToken : AcUserTokenBase
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -21,4 +21,13 @@
|
|||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AyCode.Core.Server\AyCode.Core.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Core\AyCode.Core.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Entities.Server\AyCode.Entities.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -35,6 +35,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AyCode.Services.Server", "A
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AyCode.Services.Server.Tests", "AyCode.Services.Server.Tests\AyCode.Services.Server.Tests.csproj", "{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Core.Tests.Internal", "AyCode.Core.Tests.Internal\AyCode.Core.Tests.Internal.csproj", "{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Database.Tests.Internal", "AyCode.Database.Tests.Internal\AyCode.Database.Tests.Internal.csproj", "{73261A8C-FB41-4C4C-90D4-ED5EEC991413}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -102,6 +106,14 @@ Global
|
|||
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9AC9AF60-280A-4871-A7FA-69AB4D0C858A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DE2DD6A4-A906-4BA6-8AAA-2A0433DF523F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{73261A8C-FB41-4C4C-90D4-ED5EEC991413}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AyCode.Core.Server\AyCode.Core.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Core.Tests.Internal\AyCode.Core.Tests.Internal.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Core.Tests\AyCode.Core.Tests.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Core\AyCode.Core.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Database.Tests\AyCode.Database.Tests.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Database\AyCode.Database.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Entities.Server\AyCode.Entities.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Models.Server\AyCode.Models.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Models\AyCode.Models.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
using AyCode.Database.DbContexts;
|
||||
|
||||
namespace AyCode.Database.Tests.Internal
|
||||
{
|
||||
[TestClass]
|
||||
public class DatabaseTestBase : AcDatabaseTestBase<AcDbContextBase>
|
||||
{
|
||||
[TestInitialize]
|
||||
public void Setup()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[TestCleanup]
|
||||
public void TearDown()
|
||||
{
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public override void DatabaseExistsTest() => base.DatabaseExistsTest();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
using AyCode.Core.Tests.Internal.Entities;
|
||||
using AyCode.Database.DataLayers.Users;
|
||||
|
||||
namespace AyCode.Database.Tests.Internal.Users;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public sealed class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
using AyCode.Core.Tests.Internal.Entities;
|
||||
using AyCode.Database.Tests.Users;
|
||||
|
||||
namespace AyCode.Database.Tests.Internal.Users;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
public sealed class UserDalTests : AcUserDalTestBase<UserDal, UserDbContext, User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
|
||||
{
|
||||
[TestMethod]
|
||||
[DataRow("test@tiam.hu")]
|
||||
public override void AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
||||
=> base.AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(email);
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
using AyCode.Core.Tests.Internal.Entities;
|
||||
using AyCode.Database.DbContexts.Users;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace AyCode.Database.Tests.Internal.Users;
|
||||
|
||||
/// <summary>
|
||||
/// DON'T USE!!!
|
||||
/// </summary>
|
||||
public sealed class UserDbContext : AcUserDbContextBase<User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>
|
||||
{
|
||||
public UserDbContext() //: this(string.Empty)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UserDbContext(DbContextOptions<UserDbContext> options) //: this(string.Empty)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UserDbContext(string name) : base(name)
|
||||
{
|
||||
}
|
||||
|
||||
public UserDbContext(DbContextOptions<DbContext> options, string name) : base(options, name)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
base.OnConfiguring(optionsBuilder);
|
||||
|
||||
optionsBuilder.UseLazyLoadingProxies(true);
|
||||
optionsBuilder.EnableDetailedErrors(true);
|
||||
|
||||
//optionsBuilder.UseSqlServer(Configuration.GetConnectionString("DeveloperDbConnection"));
|
||||
var connString = "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=false;Encrypt=false;TrustServerCertificate=True;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true";
|
||||
optionsBuilder.UseSqlServer(connString);
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
//new UserEntityTypeDefaultConfiguration().Configure(modelBuilder.Entity<User>());
|
||||
//new ProfileEntityTypeConfigurations().Configure(modelBuilder.Entity<Profile>());
|
||||
|
||||
//new EmailMessageEntityTypeDefaultConfigurations().Configure(modelBuilder.Entity<EmailMessage>());
|
||||
}
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ namespace AyCode.Database.Tests
|
|||
public abstract class AcDatabaseTestBase<TDbContext> : AcDatabaseTestModelBase<TDbContext> where TDbContext : AcDbContextBase
|
||||
{
|
||||
[TestMethod]
|
||||
public void DatabaseExistsTest()
|
||||
public virtual void DatabaseExistsTest()
|
||||
{
|
||||
var isConnected = Context.Database.CanConnect();
|
||||
Assert.IsTrue(isConnected);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,17 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="appsettings.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="appsettings.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.4" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||
|
|
@ -30,6 +41,8 @@
|
|||
<ProjectReference Include="..\AyCode.Entities\AyCode.Entities.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces.Server\AyCode.Interfaces.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Interfaces\AyCode.Interfaces.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Models.Server\AyCode.Models.Server.csproj" />
|
||||
<ProjectReference Include="..\AyCode.Models\AyCode.Models.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,28 @@
|
|||
using AyCode.Database.DataLayers.Users;
|
||||
using AyCode.Database.DbContexts;
|
||||
using AyCode.Database.DbContexts.Users;
|
||||
using AyCode.Database.Tests;
|
||||
using AyCode.Entities.Addresses;
|
||||
using AyCode.Entities.Profiles;
|
||||
using AyCode.Entities.Users;
|
||||
using AyCode.Interfaces.Addresses;
|
||||
using AyCode.Interfaces.Messages;
|
||||
using AyCode.Interfaces.Profiles;
|
||||
using AyCode.Interfaces.ServiceProviders;
|
||||
using AyCode.Interfaces.Users;
|
||||
|
||||
namespace AyCode.Database.Tests.Users
|
||||
{
|
||||
public abstract class AcUserDalTestBase<TDal, TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDatabaseTestModelBase<TDal, TDbContext>
|
||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken,TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
public abstract class AcUserDalTestBase<TDal, TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDatabaseTestModelBase<TDal, TDbContext>
|
||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TProfile : class, IAcProfile<TProfileAddress>
|
||||
where TProfileAddress : class, IAcAddress
|
||||
where TUserToken : class, IAcUserTokenBase
|
||||
where TServiceProvider : class, IAcServiceProviderBase
|
||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||
where TEmailMessage : class, IAcEmailMessageBase
|
||||
{
|
||||
protected TUser AcBase_GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
||||
{
|
||||
|
|
@ -32,7 +38,12 @@ namespace AyCode.Database.Tests.Users
|
|||
return user;
|
||||
}
|
||||
|
||||
protected TUser AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
||||
[TestMethod]
|
||||
[DataRow("2test@tiam.hu")]
|
||||
public virtual void AcBase_GetUserByEmail_ReturnsUser_WhenUserExists(string email) => AcBase_GetUserByEmail(email);
|
||||
|
||||
// ReSharper disable once MemberCanBePrivate.Global
|
||||
protected TUser AcBase_GetUserByEmail(string email)
|
||||
{
|
||||
var user = Dal.GetUserByEmail(email, false);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"ConnectionStrings": {
|
||||
"DeveloperDbConnection": "Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Trusted_Connection=False;Connect Timeout=200;User ID=Anata_Development_Team;Password=v6f_?xNfg9N1;MultipleActiveResultSets=true"
|
||||
},
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"JWT": {
|
||||
"Key": "Cee4400-rDMFkVvHPufyLDSzbfu2grgRhpepos299IhTLOXsljkcpt3yUR4RRjPQ",
|
||||
"Issuer": "http://localhost:5000",
|
||||
"Audience": "http://localhost:5000"
|
||||
},
|
||||
"SendGrid": {
|
||||
//"Key": "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"
|
||||
"Key": "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"
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -13,19 +13,21 @@ using AyCode.Core.Consts;
|
|||
using AyCode.Core.Helpers;
|
||||
using AyCode.Database.DbSets.Users;
|
||||
using AyCode.Interfaces.Addresses;
|
||||
using AyCode.Interfaces.Messages;
|
||||
using AyCode.Interfaces.Profiles;
|
||||
using AyCode.Interfaces.ServiceProviders;
|
||||
|
||||
namespace AyCode.Database.DataLayers.Users
|
||||
{
|
||||
public abstract class AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDalBase<TDbContext>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
public abstract class AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDalBase<TDbContext>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TProfile : class, IAcProfile<TProfileAddress>
|
||||
where TUserToken : class, IAcUserTokenBase
|
||||
where TServiceProvider : class, IAcServiceProviderBase
|
||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||
where TProfileAddress : class, IAcAddress
|
||||
where TEmailMessage : class, IAcEmailMessageBase
|
||||
{
|
||||
public TUser? GetUserById(Guid userId, bool onlyConfirmed) => Session(x => x.GetUserById(userId, onlyConfirmed));
|
||||
public Task<TUser?> GetUserByIdAsync(Guid userId, bool onlyConfirmed) => SessionAsync(x => x.GetUserById(userId, onlyConfirmed));
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using AyCode.Interfaces.Addresses;
|
||||
using AyCode.Interfaces.Messages;
|
||||
using AyCode.Interfaces.Profiles;
|
||||
using AyCode.Interfaces.ServiceProviders;
|
||||
using AyCode.Interfaces.Users;
|
||||
|
|
@ -6,18 +7,20 @@ using Microsoft.EntityFrameworkCore;
|
|||
|
||||
namespace AyCode.Database.DbContexts.Users
|
||||
{
|
||||
public abstract class AcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
public abstract class AcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TProfile : class, IAcProfile<TProfileAddress>
|
||||
where TUserToken : class, IAcUserTokenBase
|
||||
where TServiceProvider : class, IAcServiceProviderBase
|
||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||
where TProfileAddress : class, IAcAddress
|
||||
where TEmailMessage : class, IAcEmailMessageBase
|
||||
{
|
||||
public required DbSet<TUser> Users { get; set; }
|
||||
public required DbSet<TUserToken> UserTokens { get; set; }
|
||||
public DbSet<TProfileAddress> Addresses { get; set; }
|
||||
public DbSet<TProfile> Profiles { get; set; }
|
||||
public DbSet<TEmailMessage> EmailMessages { get; set; }
|
||||
|
||||
|
||||
protected AcUserDbContextBase() : this(string.Empty)
|
||||
|
|
|
|||
|
|
@ -1,15 +1,19 @@
|
|||
using AyCode.Database.DbSets.Addresses;
|
||||
using AyCode.Database.DbSets.Messages;
|
||||
using AyCode.Database.DbSets.Profiles;
|
||||
using AyCode.Database.DbSets.Users;
|
||||
using AyCode.Interfaces.Addresses;
|
||||
using AyCode.Interfaces.Messages;
|
||||
using AyCode.Interfaces.Profiles;
|
||||
using AyCode.Interfaces.ServiceProviders;
|
||||
using AyCode.Interfaces.Users;
|
||||
|
||||
namespace AyCode.Database.DbContexts.Users;
|
||||
|
||||
public interface IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
: IAcUserDbSet<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcUserTokenDbSet<TUserToken>, IAcAddressDbSetBase<TProfileAddress>, IAcProfileDbSetBase<TProfile>
|
||||
public interface IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
: IAcUserDbSet<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcUserTokenDbSet<TUserToken>,
|
||||
IAcAddressDbSetBase<TProfileAddress>, IAcProfileDbSetBase<TProfile>,
|
||||
IAcEmailMessageDbSet<TEmailMessage>
|
||||
|
||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TProfile : class, IAcProfile<TProfileAddress>
|
||||
|
|
@ -17,5 +21,6 @@ public interface IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvi
|
|||
where TServiceProvider : class, IAcServiceProviderBase
|
||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||
where TProfileAddress : class, IAcAddress
|
||||
where TEmailMessage : class, IAcEmailMessageBase
|
||||
{
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ using AyCode.Database.DbContexts.Users;
|
|||
using AyCode.Database.DbContexts;
|
||||
using AyCode.Database.Tests;
|
||||
using AyCode.Interfaces.Addresses;
|
||||
using AyCode.Interfaces.Messages;
|
||||
using AyCode.Interfaces.Profiles;
|
||||
using AyCode.Interfaces.Server.Logins;
|
||||
using AyCode.Interfaces.ServiceProviders;
|
||||
|
|
@ -10,9 +11,9 @@ using AyCode.Interfaces.Users;
|
|||
|
||||
namespace AyCode.Services.Server.Tests.LoginServices
|
||||
{
|
||||
public abstract class AcLoginServiceServerTestBase<TDal, TDbContext, TLoginServiceServer, TResultLoggedInModel, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress> : AcDatabaseTestModelBase<TDal, TDbContext>
|
||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken,TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
public abstract class AcLoginServiceServerTestBase<TDal, TDbContext, TLoginServiceServer, TResultLoggedInModel, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage> : AcDatabaseTestModelBase<TDal, TDbContext>
|
||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TLoginServiceServer : class, IAcLoginServiceServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TResultLoggedInModel: class, IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
|
|
@ -21,6 +22,7 @@ namespace AyCode.Services.Server.Tests.LoginServices
|
|||
where TUserToken : class, IAcUserTokenBase
|
||||
where TServiceProvider : class, IAcServiceProviderBase
|
||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||
where TEmailMessage : class, IAcEmailMessageBase
|
||||
{
|
||||
public TUser RegisterUserTest()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -20,24 +20,26 @@ using AyCode.Core.Consts;
|
|||
using AyCode.Core.Extensions;
|
||||
using AyCode.Database.DataLayers.Users;
|
||||
using AyCode.Database.DbContexts.Users;
|
||||
using AyCode.Interfaces.Messages;
|
||||
using AyCode.Models.Server.Logins;
|
||||
using AyCode.Utils.Extensions;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
|
||||
namespace AyCode.Services.Server.Logins;
|
||||
|
||||
public class AcLoginServiceServer<TResultLoggedInModel, TDal, TDbContext, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>(TDal userDal, IConfiguration configuration)
|
||||
public class AcLoginServiceServer<TResultLoggedInModel, TDal, TDbContext, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>(TDal userDal, IConfiguration configuration)
|
||||
: AcLoginServiceBase<TUser, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>, IAcLoginServiceServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
|
||||
where TResultLoggedInModel : class, IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TDal : AcUserDalBase<TDbContext, TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TProfile, TUserToken, TServiceProvider, TUserToServiceProvider, TProfileAddress, TEmailMessage>
|
||||
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
||||
where TUserToken : class, IAcUserTokenBase
|
||||
where TProfile : class, IAcProfile<TProfileAddress>
|
||||
where TServiceProvider : class, IAcServiceProviderBase
|
||||
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
||||
where TProfileAddress : class, IAcAddress
|
||||
where TEmailMessage : class, IAcEmailMessageBase
|
||||
{
|
||||
public TResultLoggedInModel? LoggedInModel { get; private set; }
|
||||
public override TUser? LoggedInUser => LoggedInModel?.LoggedInUser;
|
||||
|
|
|
|||
Loading…
Reference in New Issue