public ContentCommandMiddlewareTests() { var schemaDef = Schema.Create("my-schema", new SchemaProperties()) .AddOrUpdateField(new NumberField(1, "my-field", Partitioning.Invariant, new NumberFieldProperties { IsRequired = true })); content = new ContentDomainObject(contentId, -1); sut = new ContentCommandMiddleware(Handler, appProvider, A.Dummy <IAssetRepository>(), schemas, scriptEngine, A.Dummy <IContentRepository>()); A.CallTo(() => app.LanguagesConfig).Returns(languagesConfig); A.CallTo(() => app.PartitionResolver).Returns(languagesConfig.ToResolver()); A.CallTo(() => appProvider.FindAppByIdAsync(AppId)).Returns(app); A.CallTo(() => schema.SchemaDef).Returns(schemaDef); A.CallTo(() => schema.ScriptCreate).Returns("<create-script>"); A.CallTo(() => schema.ScriptChange).Returns("<change-script>"); A.CallTo(() => schema.ScriptUpdate).Returns("<update-script>"); A.CallTo(() => schema.ScriptDelete).Returns("<delete-script>"); A.CallTo(() => schemas.FindSchemaByIdAsync(SchemaId, false)).Returns(schema); }
private void Should_enrich_with_default_values() { var data = new NamedContentData() .AddField("my-string", new ContentFieldData() .AddValue("de", "de-string")) .AddField("my-number", new ContentFieldData() .AddValue("iv", 456)); data.Enrich(schema, languagesConfig.ToResolver()); Assert.Equal(456, (int)data["my-number"]["iv"]); Assert.Equal("de-string", (string)data["my-string"]["de"]); Assert.Equal("en-string", (string)data["my-string"]["en"]); Assert.Equal(Now.ToString(), (string)data["my-datetime"]["iv"]); Assert.True((bool)data["my-boolean"]["iv"]); }
public ODataQueryTests() { schemaDef.Update(new SchemaProperties { Hints = "The User" }); schemaDef.AddField(new StringField(1, "firstName", Partitioning.Language, new StringFieldProperties { Label = "FirstName", IsRequired = true, AllowedValues = new[] { "1", "2" } })); schemaDef.AddField(new StringField(2, "lastName", Partitioning.Language, new StringFieldProperties { Hints = "Last Name", Editor = StringFieldEditor.Input })); schemaDef.AddField(new BooleanField(3, "isAdmin", Partitioning.Invariant, new BooleanFieldProperties())); schemaDef.AddField(new NumberField(4, "age", Partitioning.Invariant, new NumberFieldProperties { MinValue = 1, MaxValue = 10 })); schemaDef.AddField(new DateTimeField(5, "birthday", Partitioning.Invariant, new DateTimeFieldProperties())); schemaDef.AddField(new AssetsField(6, "pictures", Partitioning.Invariant, new AssetsFieldProperties())); schemaDef.AddField(new ReferencesField(7, "friends", Partitioning.Invariant, new ReferencesFieldProperties())); schemaDef.AddField(new StringField(8, "dashed-field", Partitioning.Invariant, new StringFieldProperties())); var builder = new EdmModelBuilder(new MemoryCache(Options.Create(new MemoryCacheOptions()))); var schema = A.Dummy <ISchemaEntity>(); A.CallTo(() => schema.Id).Returns(Guid.NewGuid()); A.CallTo(() => schema.Version).Returns(3); A.CallTo(() => schema.SchemaDef).Returns(schemaDef); var app = A.Dummy <IAppEntity>(); A.CallTo(() => app.Id).Returns(Guid.NewGuid()); A.CallTo(() => app.Version).Returns(3); A.CallTo(() => app.PartitionResolver).Returns(languagesConfig.ToResolver()); edmModel = builder.BuildEdmModel(schema, app); }
public void Should_enrich_with_default_values() { var data = new ContentData() .AddField("my-string", new ContentFieldData() .AddLocalized("de", "de-string")) .AddField("my-number", new ContentFieldData() .AddInvariant(456)); data.GenerateDefaultValues(schema, languagesConfig.ToResolver()); Assert.Equal(456, ((JsonNumber)data["my-number"] !["iv"]).Value);
public void Should_enrich_with_default_values() { var data = new NamedContentData() .AddField("my-string", new ContentFieldData() .AddValue("de", "de-string")) .AddField("my-number", new ContentFieldData() .AddValue("iv", 456)); data.GenerateDefaultValues(schema, languagesConfig.ToResolver()); Assert.Equal(456, ((JsonScalar <double>)data["my-number"] !["iv"]).Value);
public ODataQueryTests() { var builder = new EdmModelBuilder(new MemoryCache(Options.Create(new MemoryCacheOptions()))); var schema = A.Dummy <ISchemaEntity>(); A.CallTo(() => schema.Id).Returns(Guid.NewGuid()); A.CallTo(() => schema.Version).Returns(3); A.CallTo(() => schema.SchemaDef).Returns(schemaDef); var app = A.Dummy <IAppEntity>(); A.CallTo(() => app.Id).Returns(Guid.NewGuid()); A.CallTo(() => app.Version).Returns(3); A.CallTo(() => app.PartitionResolver).Returns(languagesConfig.ToResolver()); edmModel = builder.BuildEdmModel(schema, app); }
public ODataQueryTests() { var builder = new EdmModelBuilder(new MemoryCache(Options.Create(new MemoryCacheOptions()))); var schemaEntity = new Mock <ISchemaEntity>(); schemaEntity.Setup(x => x.Id).Returns(Guid.NewGuid()); schemaEntity.Setup(x => x.Version).Returns(3); schemaEntity.Setup(x => x.Schema).Returns(schema); var appEntity = new Mock <IAppEntity>(); appEntity.Setup(x => x.Id).Returns(Guid.NewGuid()); appEntity.Setup(x => x.Version).Returns(3); appEntity.Setup(x => x.PartitionResolver).Returns(languagesConfig.ToResolver()); edmModel = builder.BuildEdmModel(schemaEntity.Object, appEntity.Object); }
public ContentCommandMiddlewareTests() { var schema = Schema.Create("my-schema", new SchemaProperties()) .AddOrUpdateField(new NumberField(1, "my-field", Partitioning.Invariant, new NumberFieldProperties { IsRequired = true })); content = new ContentDomainObject(contentId, -1); sut = new ContentCommandMiddleware(Handler, appProvider, A.Dummy <IAssetRepository>(), schemaProvider, A.Dummy <IContentRepository>()); A.CallTo(() => appEntity.LanguagesConfig).Returns(languagesConfig); A.CallTo(() => appEntity.PartitionResolver).Returns(languagesConfig.ToResolver()); A.CallTo(() => appProvider.FindAppByIdAsync(AppId)).Returns(Task.FromResult(appEntity)); A.CallTo(() => schemaEntity.Schema).Returns(schema); A.CallTo(() => schemaProvider.FindSchemaByIdAsync(SchemaId, false)).Returns(Task.FromResult(schemaEntity)); }
public ContentCommandHandlerTests() { var schema = Schema.Create("my-schema", new SchemaProperties()) .AddOrUpdateField(new NumberField(1, "my-field", Partitioning.Invariant, new NumberFieldProperties { IsRequired = true })); content = new ContentDomainObject(contentId, -1); sut = new ContentCommandHandler(Handler, appProvider.Object, schemaProvider.Object); appEntity.Setup(x => x.LanguagesConfig).Returns(languagesConfig); appEntity.Setup(x => x.PartitionResolver).Returns(languagesConfig.ToResolver()); appProvider.Setup(x => x.FindAppByIdAsync(AppId)).Returns(Task.FromResult(appEntity.Object)); schemaEntity.Setup(x => x.Schema).Returns(schema); schemaProvider.Setup(x => x.FindSchemaByIdAsync(SchemaId, false)).Returns(Task.FromResult(schemaEntity.Object)); }
public async Task Should_add_error_if_value_validator_throws_exception() { var validator = A.Fake <IValidator>(); A.CallTo(() => validator.ValidateAsync(A <object?> ._, A <ValidationContext> ._, A <AddError> ._)) .Throws(new InvalidOperationException()); var validatorFactory = A.Fake <IValidatorsFactory>(); A.CallTo(() => validatorFactory.CreateValueValidators(A <ValidationContext> ._, A <IField> ._, A <ValidatorFactory> ._)) .Returns(Enumerable.Repeat(validator, 1)); schema = schema.AddNumber(1, "my-field", Partitioning.Invariant, new NumberFieldProperties()); var data = new ContentData() .AddField("my-field", new ContentFieldData() .AddInvariant(1000)); await data.ValidateAsync(languagesConfig.ToResolver(), errors, schema, factory : validatorFactory); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Validation failed with internal error.", "my-field.iv") }); }
public async Task Should_add_error_if_validating_data_with_unknown_field() { var data = new NamedContentData() .AddField("unknown", new ContentFieldData()); await data.ValidateAsync(context, schema, languagesConfig.ToResolver(), errors); errors.ShouldBeEquivalentTo( new List <ValidationError> { new ValidationError("unknown: Not a known field.", "unknown") }); }