Hi,
You can try:
public sealed class SampleAppService_Tests : IdentityServiceDomainTestBase { private readonly IUserAppService _userAppService; private ISettingManagementStore _abpSettingStore; protected override void BeforeAddApplication(IServiceCollection services) { _abpSettingStore = Substitute.For<ISettingManagementStore>(); services.AddSingleton(_abpSettingStore); base.BeforeAddApplication(services); } public SampleAppService_Tests() { _userAppService = GetRequiredService<IUserAppService>(); } [Fact] public async Task Test() { var test = await _userAppService.CreateUser(new UserCreateInput() { UserName = "TestUserName", Email = "test@test.com" }, ERole.External); } }
If I IdentityServiceDomainTestBase I can test only managers. But I need to test applications services.
If I use IdentityServiceDomainTestBase
I got another error:
`Autofac.Core.Registration.ComponentNotRegisteredException: The requested service 'AMSuisse.IdentityService.Interfaces.User.IUserAppService' has not be...
Autofac.Core.Registration.ComponentNotRegisteredException The requested service 'AMSuisse.IdentityService.Interfaces.User.IUserAppService' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.`
hi, Why should we use IdentityServiceDomainTestBase for application layer tests?
Hi,
Could you provide the full steps to reproduce the problem? thanks.
I have create a new (first) test in identity microservice
public sealed class SampleAppService_Tests : IdentityServiceApplicationTestBase
{
private readonly IUserAppService _userAppService;
private ISettingManagementStore _abpSettingStore;
protected override void BeforeAddApplication(IServiceCollection services)
{
_abpSettingStore = Substitute.For<ISettingManagementStore>();
services.AddSingleton(_abpSettingStore);
base.BeforeAddApplication(services);
}
public SampleAppService_Tests()
{
_userAppService = GetRequiredService<IUserAppService>();
}
[Fact]
public async Task Test()
{
var test = await _userAppService.CreateUser(new UserCreateInput()
{
UserName = "TestUserName",
Email = "test@test.com"
}, ERole.External);
}
}
And got this error
Autofac.Core.DependencyResolutionException: An exception was thrown while activating Volo.Abp.Settings.DefaultValueSettingValueProvider -> Volo.Abp.SettingManagement.SettingStore -> Volo.Abp.SettingManagement.SettingManagementStore. ---> Autofac.Core.DependencyResolutionException: None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'Volo.Abp.SettingManagement.SettingManagementStore' can be invoked with the available services and parameters: Cannot resolve parameter 'Volo.Abp.SettingManagement.ISettingRepository settingRepository' of constructor 'Void .ctor(Volo.Abp.SettingManagement.ISettingRepository, Volo.Abp.Guids.IGuidGenerator, Volo.Abp.Caching.IDistributedCache
1[Volo.Abp.SettingManagement.SettingCacheItem], Volo.Abp.Settings.ISettingDefinitionManager)'.`
Currently I got what happend. We miss the orderService for angular. But why can we login in the first time? It is looks like a bug.
And also I forgot to note that this problem happen only on some environment. If we run application locally through the we do not get this problem
currently we have disabled writing to the txt file. But we can add it again and send you this file. But it take a few time