RC4 changes (#7)
- Add `In` and `InArray` comparisons - Replace `Op` with `Comparison` (internal API, but was public) - Spell out comparisons in `Field` constructor functions Reviewed-on: #7
This commit was merged in pull request #7.
This commit is contained in:
@@ -205,7 +205,7 @@ public class PostgresCSharpExtensionTests
|
||||
}
|
||||
})
|
||||
]),
|
||||
TestList("save",
|
||||
TestList("Save",
|
||||
[
|
||||
TestCase("succeeds when a document is inserted", async () =>
|
||||
{
|
||||
@@ -253,7 +253,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var theCount = await conn.CountByFields(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "purple")]);
|
||||
[Field.Equal("Value", "purple")]);
|
||||
Expect.equal(theCount, 2, "There should have been 2 matching documents");
|
||||
}),
|
||||
TestCase("CountByContains succeeds", async () =>
|
||||
@@ -303,7 +303,7 @@ public class PostgresCSharpExtensionTests
|
||||
await using var conn = MkConn(db);
|
||||
await LoadDocs();
|
||||
|
||||
var exists = await conn.ExistsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EX("Sub")]);
|
||||
var exists = await conn.ExistsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Exists("Sub")]);
|
||||
Expect.isTrue(exists, "There should have been existing documents");
|
||||
}),
|
||||
TestCase("succeeds when documents do not exist", async () =>
|
||||
@@ -313,7 +313,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var exists =
|
||||
await conn.ExistsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("NumValue", "six")]);
|
||||
await conn.ExistsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("NumValue", "six")]);
|
||||
Expect.isFalse(exists, "There should not have been existing documents");
|
||||
})
|
||||
]),
|
||||
@@ -450,7 +450,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var docs = await conn.FindByFields<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "another")]);
|
||||
[Field.Equal("Value", "another")]);
|
||||
Expect.equal(docs.Count, 1, "There should have been one document returned");
|
||||
}),
|
||||
TestCase("succeeds when documents are not found", async () =>
|
||||
@@ -460,7 +460,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var docs = await conn.FindByFields<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "mauve")]);
|
||||
[Field.Equal("Value", "mauve")]);
|
||||
Expect.isEmpty(docs, "There should have been no documents returned");
|
||||
})
|
||||
]),
|
||||
@@ -473,7 +473,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var docs = await conn.FindByFieldsOrdered<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "purple")], [Field.Named("Id")]);
|
||||
[Field.Equal("Value", "purple")], [Field.Named("Id")]);
|
||||
Expect.hasLength(docs, 2, "There should have been two document returned");
|
||||
Expect.equal(string.Join('|', docs.Select(x => x.Id)), "five|four",
|
||||
"The documents were not ordered correctly");
|
||||
@@ -485,7 +485,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var docs = await conn.FindByFieldsOrdered<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "purple")], [Field.Named("Id DESC")]);
|
||||
[Field.Equal("Value", "purple")], [Field.Named("Id DESC")]);
|
||||
Expect.hasLength(docs, 2, "There should have been two document returned");
|
||||
Expect.equal(string.Join('|', docs.Select(x => x.Id)), "four|five",
|
||||
"The documents were not ordered correctly");
|
||||
@@ -599,7 +599,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var doc = await conn.FindFirstByFields<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "another")]);
|
||||
[Field.Equal("Value", "another")]);
|
||||
Expect.isNotNull(doc, "There should have been a document returned");
|
||||
Expect.equal(doc.Id, "two", "The incorrect document was returned");
|
||||
}),
|
||||
@@ -610,7 +610,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var doc = await conn.FindFirstByFields<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "purple")]);
|
||||
[Field.Equal("Value", "purple")]);
|
||||
Expect.isNotNull(doc, "There should have been a document returned");
|
||||
Expect.contains(["five", "four"], doc.Id, "An incorrect document was returned");
|
||||
}),
|
||||
@@ -621,7 +621,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var doc = await conn.FindFirstByFields<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "absent")]);
|
||||
[Field.Equal("Value", "absent")]);
|
||||
Expect.isNull(doc, "There should not have been a document returned");
|
||||
})
|
||||
]),
|
||||
@@ -634,7 +634,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var doc = await conn.FindFirstByFieldsOrdered<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "purple")], [Field.Named("Id")]);
|
||||
[Field.Equal("Value", "purple")], [Field.Named("Id")]);
|
||||
Expect.isNotNull(doc, "There should have been a document returned");
|
||||
Expect.equal("five", doc.Id, "An incorrect document was returned");
|
||||
}),
|
||||
@@ -645,7 +645,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
var doc = await conn.FindFirstByFieldsOrdered<JsonDocument>(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("Value", "purple")], [Field.Named("Id DESC")]);
|
||||
[Field.Equal("Value", "purple")], [Field.Named("Id DESC")]);
|
||||
Expect.isNotNull(doc, "There should have been a document returned");
|
||||
Expect.equal("four", doc.Id, "An incorrect document was returned");
|
||||
})
|
||||
@@ -859,10 +859,10 @@ public class PostgresCSharpExtensionTests
|
||||
await using var conn = MkConn(db);
|
||||
await LoadDocs();
|
||||
|
||||
await conn.PatchByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("Value", "purple")],
|
||||
await conn.PatchByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("Value", "purple")],
|
||||
new { NumValue = 77 });
|
||||
var after = await conn.CountByFields(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.EQ("NumValue", "77")]);
|
||||
[Field.Equal("NumValue", 77)]);
|
||||
Expect.equal(after, 2, "There should have been 2 documents returned");
|
||||
}),
|
||||
TestCase("succeeds when no document is updated", async () =>
|
||||
@@ -873,7 +873,7 @@ public class PostgresCSharpExtensionTests
|
||||
Expect.equal(before, 0, "There should have been no documents returned");
|
||||
|
||||
// This not raising an exception is the test
|
||||
await conn.PatchByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("Value", "burgundy")],
|
||||
await conn.PatchByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("Value", "burgundy")],
|
||||
new { Foo = "green" });
|
||||
})
|
||||
]),
|
||||
@@ -975,7 +975,7 @@ public class PostgresCSharpExtensionTests
|
||||
await using var conn = MkConn(db);
|
||||
await LoadDocs();
|
||||
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("NumValue", "17")],
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("NumValue", "17")],
|
||||
["Sub", "Value"]);
|
||||
var updated = await Find.ById<string, JsonDocument>(PostgresDb.TableName, "four");
|
||||
Expect.isNotNull(updated, "The updated document should have been retrieved");
|
||||
@@ -988,7 +988,7 @@ public class PostgresCSharpExtensionTests
|
||||
await using var conn = MkConn(db);
|
||||
await LoadDocs();
|
||||
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("NumValue", "17")],
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("NumValue", "17")],
|
||||
["Sub"]);
|
||||
var updated = await Find.ById<string, JsonDocument>(PostgresDb.TableName, "four");
|
||||
Expect.isNotNull(updated, "The updated document should have been retrieved");
|
||||
@@ -1002,7 +1002,7 @@ public class PostgresCSharpExtensionTests
|
||||
await LoadDocs();
|
||||
|
||||
// This not raising an exception is the test
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("NumValue", "17")],
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("NumValue", "17")],
|
||||
["Nothing"]);
|
||||
}),
|
||||
TestCase("succeeds when no document is matched", async () =>
|
||||
@@ -1012,7 +1012,7 @@ public class PostgresCSharpExtensionTests
|
||||
|
||||
// This not raising an exception is the test
|
||||
await conn.RemoveFieldsByFields(PostgresDb.TableName, FieldMatch.Any,
|
||||
[Field.NE("Abracadabra", "apple")], ["Value"]);
|
||||
[Field.NotEqual("Abracadabra", "apple")], ["Value"]);
|
||||
})
|
||||
]),
|
||||
TestList("RemoveFieldsByContains",
|
||||
@@ -1134,7 +1134,7 @@ public class PostgresCSharpExtensionTests
|
||||
await using var conn = MkConn(db);
|
||||
await LoadDocs();
|
||||
|
||||
await conn.DeleteByFields(PostgresDb.TableName, FieldMatch.Any, [Field.NE("Value", "purple")]);
|
||||
await conn.DeleteByFields(PostgresDb.TableName, FieldMatch.Any, [Field.NotEqual("Value", "purple")]);
|
||||
var remaining = await conn.CountAll(PostgresDb.TableName);
|
||||
Expect.equal(remaining, 2, "There should have been 2 documents remaining");
|
||||
}),
|
||||
@@ -1144,7 +1144,7 @@ public class PostgresCSharpExtensionTests
|
||||
await using var conn = MkConn(db);
|
||||
await LoadDocs();
|
||||
|
||||
await conn.DeleteByFields(PostgresDb.TableName, FieldMatch.Any, [Field.EQ("Value", "crimson")]);
|
||||
await conn.DeleteByFields(PostgresDb.TableName, FieldMatch.Any, [Field.Equal("Value", "crimson")]);
|
||||
var remaining = await conn.CountAll(PostgresDb.TableName);
|
||||
Expect.equal(remaining, 5, "There should have been 5 documents remaining");
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user