Skip to content

Commit 642ff45

Browse files
committed
Fix issue: JsonbExpressionParser did not translate property names to camelCase in jsonb expressions.
1 parent beec16c commit 642ff45

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/OpenDDD.Tests/Unit/Infrastructure/Persistence/OpenDdd/Expressions/JsonbExpressionParserTests.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using System.Linq.Expressions;
1+
using System;
2+
using System.Linq.Expressions;
3+
using Xunit;
24
using FluentAssertions;
35
using OpenDDD.Infrastructure.Persistence.OpenDdd.Expressions;
46
using OpenDDD.Tests.Base;
@@ -102,7 +104,7 @@ public void Parse_ShouldGenerateSql_ForNullablePropertyCheck()
102104
Expression<Func<Customer, bool>> expression = c => c.MiddleName != null;
103105
var result = JsonbExpressionParser.Parse(expression);
104106

105-
result.Should().Be("data ? 'middlename'");
107+
result.Should().Be("data ? 'middleName'");
106108
}
107109

108110
[Fact]
@@ -111,7 +113,7 @@ public void Parse_ShouldGenerateSql_ForBooleanProperty()
111113
Expression<Func<Customer, bool>> expression = c => c.IsActive;
112114
var result = JsonbExpressionParser.Parse(expression);
113115

114-
result.Should().Be("(data->>'isactive')::boolean = TRUE");
116+
result.Should().Be("(data->>'isActive')::boolean = TRUE");
115117
}
116118

117119
[Fact]

src/OpenDDD/Infrastructure/Persistence/OpenDdd/Expressions/JsonbExpressionParser.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ private static string GetJsonbPath(MemberExpression expression)
180180

181181
while (current is MemberExpression member)
182182
{
183-
properties.Insert(0, member.Member.Name.ToLower()); // Insert at start to preserve order
183+
properties.Insert(0, char.ToLowerInvariant(member.Member.Name[0]) + member.Member.Name[1..]);
184184
current = member.Expression;
185185
}
186186

0 commit comments

Comments
 (0)