示例#1
0
        public async Task DeleteAsync_should_remove_entity_id_from_parent()
        {
            using var store = new RavenDbTestDriverWrapper().GetDocumentStore();

            var entity = new Entity.ExternalClaimTransformation
            {
                Id     = Guid.NewGuid().ToString(),
                Scheme = "test"
            };
            var parent = new Entity.ExternalProvider
            {
                Id = "test",
            };
            var collection = GetCollection(parent);

            collection.Add(new Entity.ExternalClaimTransformation
            {
                Id = $"{typeof(Entity.ExternalClaimTransformation).Name.ToLowerInvariant()}/{entity.Id}"
            });

            using var s1 = store.OpenAsyncSession();
            await s1.StoreAsync(parent, $"{nameof(Entity.ExternalProvider).ToLowerInvariant()}/{parent.Id}");

            await s1.StoreAsync(entity, $"{typeof(Entity.ExternalClaimTransformation).Name.ToLowerInvariant()}/{entity.Id}");

            await s1.SaveChangesAsync();

            var loggerMock = new Mock <ILogger <AdminStore <Entity.ExternalClaimTransformation> > >();

            using var session = store.OpenAsyncSession();

            var sut = CreateSut(session, loggerMock.Object);


            await sut.DeleteAsync(entity.Id);

            using var s2 = store.OpenAsyncSession();
            var updated = await s2.LoadAsync <Entity.ExternalProvider> ($"{nameof(Entity.ExternalProvider).ToLowerInvariant()}/test");

            var updatedCollection = GetCollection(updated);

            Assert.DoesNotContain(updatedCollection, i => i.Id == $"{typeof(Entity.ExternalClaimTransformation).Name.ToLowerInvariant()}/{entity.Id}");
        }
示例#2
0
 private ICollection <Entity.ExternalClaimTransformation> GetCollection(Entity.ExternalProvider provider)
 {
     provider.ClaimTransformations = provider.ClaimTransformations ?? new List <Entity.ExternalClaimTransformation>();
     return(provider.ClaimTransformations);
 }