public async Task Should_cleanup_old_references()
        {
            var schemaName = $"schema-{DateTime.UtcNow.Ticks}";

            // STEP 1: Create a schema.
            await TestEntityWithReferences.CreateSchemaAsync(_.Schemas, _.AppName, schemaName);

            var contents = _.ClientManager.GetClient <TestEntityWithReferences, TestEntityWithReferencesData>(schemaName);


            // STEP 2: Create a referenced content.
            var dataA = new TestEntityWithReferencesData();

            var contentA_1 = await contents.CreateAsync(dataA);


            // STEP 3: Create a content with a reference.
            var dataB = new TestEntityWithReferencesData {
                References = new[] { Guid.Parse(contentA_1.Id) }
            };

            var contentB_1 = await contents.CreateAsync(dataB);


            // STEP 3: Delete a reference
            await contents.DeleteAsync(contentA_1.Id);


            // STEP 4: Make any update.
            var contentB_2 = await contents.ChangeStatusAsync(contentB_1.Id, "Published");

            // Should not return deleted field.
            Assert.Empty(contentB_2.Data.References);
        }
Ejemplo n.º 2
0
        public ContentReferencesFixture()
        {
            Task.Run(async() =>
            {
                try
                {
                    await TestEntityWithReferences.CreateSchemaAsync(Schemas, AppName, SchemaName);
                }
                catch (SquidexManagementException ex)
                {
                    if (ex.StatusCode != 400)
                    {
                        throw;
                    }
                }
            }).Wait();

            Contents = ClientManager.CreateContentsClient <TestEntityWithReferences, TestEntityWithReferencesData>(SchemaName);
        }
        public override async Task InitializeAsync()
        {
            await base.InitializeAsync();

            await Factories.CreateAsync($"{nameof(TestEntityWithReferences)}_{SchemaName}", async() =>
            {
                try
                {
                    await TestEntityWithReferences.CreateSchemaAsync(Schemas, AppName, SchemaName);
                }
                catch (SquidexManagementException ex)
                {
                    if (ex.StatusCode != 400)
                    {
                        throw;
                    }
                }

                return(true);
            });

            Contents = ClientManager.CreateContentsClient <TestEntityWithReferences, TestEntityWithReferencesData>(SchemaName);
        }