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); }
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); }