public void locator_for_string(Casing casing) { var memberName = casing == Casing.Default ? "FirstName" : "firstName"; JsonLocatorField.For <User>(EnumStorage.AsInteger, casing, x => x.FirstName) .SqlLocator.ShouldBe($"d.data ->> '{memberName}'"); }
public void locator_for_enum_in_string_mode(Casing casing) { var memberName = casing == Casing.Default ? "Color" : "color"; JsonLocatorField.For <Target>(EnumStorage.AsString, casing, x => x.Color) .SqlLocator.ShouldBe($"d.data ->> '{memberName}'"); }
public void locator_for_number(Casing casing) { var memberName = casing == Casing.Default ? "Age" : "age"; JsonLocatorField.For <User>(EnumStorage.AsInteger, casing, x => x.Age) .SqlLocator.ShouldBe($"CAST(d.data ->> '{memberName}' as integer)"); }
public void make_datetime_fields_be_containment() { JsonLocatorField.For <Target>(EnumStorage.AsInteger, x => x.Date) .ShouldUseContainmentOperator().ShouldBeTrue(); JsonLocatorField.For <Target>(EnumStorage.AsInteger, x => x.DateOffset) .ShouldUseContainmentOperator().ShouldBeTrue(); }
public void do_not_use_timestamp_functions_on_selection_locator_for_dates() { JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, x => x.DateTime) .SelectionLocator.ShouldBe("CAST(d.data ->> 'DateTime' as timestamp without time zone)"); JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, x => x.NullableDateTime) .SelectionLocator.ShouldBe("CAST(d.data ->> 'NullableDateTime' as timestamp without time zone)"); JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, x => x.DateTimeOffset) .SelectionLocator.ShouldBe("CAST(d.data ->> 'DateTimeOffset' as timestamp with time zone)"); JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, x => x.NullableDateTimeOffset) .SelectionLocator.ShouldBe("CAST(d.data ->> 'NullableDateTimeOffset' as timestamp with time zone)"); }
public void do_not_use_timestamp_functions_on_selection_locator_for_dates(Casing casing, string dateTimeName, string nullableDateTimeName, string dateTimeOffsetName, string nullableDateTimeOffsetName) { JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.DateTime) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{dateTimeName}' as timestamp without time zone)"); JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.NullableDateTime) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{nullableDateTimeName}' as timestamp without time zone)"); JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.DateTimeOffset) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{dateTimeOffsetName}' as timestamp with time zone)"); JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.NullableDateTimeOffset) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{nullableDateTimeOffsetName}' as timestamp with time zone)"); }
public void do_not_use_timestamp_functions_on_selection_locator_for_dates(Casing casing) { var name = casing == Casing.Default ? "DateTime" : "dateTime"; JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.DateTime) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{name}' as timestamp without time zone)"); name = casing == Casing.Default ? "NullableDateTime" : "nullableDateTime"; JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.NullableDateTime) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{name}' as timestamp without time zone)"); name = casing == Casing.Default ? "DateTimeOffset" : "dateTimeOffset"; JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.DateTimeOffset) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{name}' as timestamp with time zone)"); name = casing == Casing.Default ? "NullableDateTimeOffset" : "nullableDateTimeOffset"; JsonLocatorField.For <DocWithDates>(EnumStorage.AsString, casing, x => x.NullableDateTimeOffset) .SelectionLocator.ShouldBe($"CAST(d.data ->> '{name}' as timestamp with time zone)"); }
public void UnknownPGTypesMapToJsonb() { var locator = JsonLocatorField.For <UserNested>(EnumStorage.AsInteger, Casing.Default, x => x.Nested); Assert.Equal("CAST(d.data ->> 'Nested' as jsonb)", locator.SqlLocator); }
public void locator_for_enum_in_string_mode() { var field = JsonLocatorField.For <Target>(EnumStorage.AsString, x => x.Color); field.SqlLocator.ShouldBe("d.data ->> 'Color'"); }
public void locator_for_enum_in_string_mode(Casing casing, string memberName) { JsonLocatorField.For <Target>(EnumStorage.AsString, casing, x => x.Color) .SqlLocator.ShouldBe($"d.data ->> '{memberName}'"); }
public void locator_for_enum_in_integer_mode(Casing casing, string memberName) { JsonLocatorField.For <Target>(EnumStorage.AsInteger, casing, x => x.Color) .SqlLocator.ShouldBe($"CAST(d.data ->> '{memberName}' as integer)"); }
public void locator_for_number(Casing casing, string memberName) { JsonLocatorField.For <User>(EnumStorage.AsInteger, casing, x => x.Age) .SqlLocator.ShouldBe($"CAST(d.data ->> '{memberName}' as integer)"); }