public async Task UpdateIdentityResourceAsync() { using (var context = new ConfigurationDbContext(_dbContextOptions, _storeOptions, _operationalStore)) { IIdentityResourceRepository identityResourceRepository = new IdentityResourceRepository(context); //Generate random new identity resource var identityResource = IdentityResourceMock.GenerateRandomIdentityResource(0); //Add new identity resource await identityResourceRepository.AddIdentityResourceAsync(identityResource); //Get new identity resource var newIdentityResource = await context.IdentityResources.Where(x => x.Id == identityResource.Id).SingleOrDefaultAsync(); //Assert new identity resource newIdentityResource.ShouldBeEquivalentTo(identityResource, options => options.Excluding(o => o.Id)); //Detached the added item context.Entry(newIdentityResource).State = EntityState.Detached; //Generete new identity resource with added item id var updatedIdentityResource = IdentityResourceMock.GenerateRandomIdentityResource(newIdentityResource.Id); //Update identity resource await identityResourceRepository.UpdateIdentityResourceAsync(updatedIdentityResource); //Get updated identity resource var updatedIdentityResourceEntity = await context.IdentityResources.Where(x => x.Id == updatedIdentityResource.Id).SingleAsync(); //Assert updated identity resource updatedIdentityResource.ShouldBeEquivalentTo(updatedIdentityResourceEntity); } }