Skip to content

Commit d3fe8ba

Browse files
committed
Add secondary test
1 parent b6764e3 commit d3fe8ba

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

tests/Dynatello.Tests/ToQueryRequestTests.cs

+29-3
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,43 @@ public partial class ToQueryRequestTests
1616

1717
public ToQueryRequestTests()
1818
{
19-
_queryCatWithIdAndMinimumCuteness = CatMarshaller
19+
var withKeyConditionExpression = CatMarshaller
2020
.OnTable("TABLE")
21-
.WithKeyConditionExpression((x, y) => $"{x.Id} = {y.Id}")
21+
.WithKeyConditionExpression((x, y) => $"{x.Id} = {y.Id}");
22+
_queryCatWithId = withKeyConditionExpression.ToQueryRequestBuilder();
23+
24+
_queryCatWithIdAndMinimumCuteness = withKeyConditionExpression
2225
.WithFilterExpression((x, y) => $"{x.Cuteness} > {y.MinimumCuteness}")
2326
.ToQueryRequestBuilder();
2427
}
2528

2629
private readonly QueryRequestBuilder<(Guid Id, double MinimumCuteness)> _queryCatWithIdAndMinimumCuteness;
30+
private readonly QueryRequestBuilder<(Guid Id, double MinimumCuteness)> _queryCatWithId;
2731

2832
[Fact]
29-
public void Test()
33+
public void Build_Request()
34+
{
35+
_fixture.CreateMany<(Guid Id, double MinimumCuteness)>(10).Should().AllSatisfy(tuple =>
36+
{
37+
var request = _queryCatWithId.Build(tuple);
38+
39+
request.TableName.Should().Be("TABLE");
40+
request.ExpressionAttributeNames.Should().BeEquivalentTo(new Dictionary<string, string>
41+
{
42+
{ "#Id", nameof(Cat.Id) }
43+
});
44+
45+
request.ExpressionAttributeValues.Should().BeEquivalentTo(new Dictionary<string, AttributeValue>
46+
{
47+
{ ":p1", new AttributeValue { S = tuple.Id.ToString() } },
48+
});
49+
50+
request.KeyConditionExpression.Should().Be("#Id = :p1");
51+
});
52+
}
53+
54+
[Fact]
55+
public void Build_Request_FilterExpression()
3056
{
3157
_fixture.CreateMany<(Guid Id, double MinimumCuteness)>(10).Should().AllSatisfy(tuple =>
3258
{

0 commit comments

Comments
 (0)