using Microsoft.EntityFrameworkCore; using Xunit; using Microsoft.Extensions.DependencyInjection; using Microsoft.eShopWeb.Infrastructure.Identity; using System; using Microsoft.AspNetCore.Identity; using System.Threading.Tasks; namespace Microsoft.eShopWeb.IntegrationTests.Repositories.OrderRepositoryTests { public class LoginService { [Fact] public async Task LogsInSampleUser() { var services = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase(); services.AddDbContext(options => { options.UseInMemoryDatabase("Identity"); }); var serviceProvider = new ServiceCollection() .BuildServiceProvider(); // Create a scope to obtain a reference to the database // context (AppIdentityDbContext). using (var scope = serviceProvider.CreateScope()) { var scopedServices = scope.ServiceProvider; try { // seed sample user data var userManager = scopedServices.GetRequiredService>(); AppIdentityDbContextSeed.SeedAsync(userManager).Wait(); var signInManager = scopedServices.GetRequiredService>(); var email = "demouser@microsoft.com"; var password = "Pass@word1"; var result = await signInManager.PasswordSignInAsync(email, password, false, lockoutOnFailure: false); Assert.True(result.Succeeded); } catch (Exception ex) { } } } } }