-
-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathUsage.cs
88 lines (74 loc) · 2.33 KB
/
Usage.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
public class Usage :
LocalDbTestBase
{
public static void Suffix(WebApplicationBuilder builder)
{
#region SuffixEF
var app = builder.Build();
app.UseDelta<SampleDbContext>(suffix: httpContext => "MySuffix");
#endregion
}
public static void ShouldExecute(WebApplicationBuilder builder)
{
#region ShouldExecuteEF
var app = builder.Build();
app.UseDelta<SampleDbContext>(
shouldExecute: httpContext =>
{
var path = httpContext.Request.Path.ToString();
return path.Contains("match");
});
#endregion
}
[TestCase(true)]
[TestCase(false)]
public async Task GetLastTimeStamp(bool tracking)
{
await using var database = await LocalDb();
if (tracking)
{
await database.Connection.EnableTracking();
}
var dbContext = database.Context;
#region GetLastTimeStampEF
var timeStamp = await dbContext.GetLastTimeStamp();
#endregion
IsNotNull(timeStamp);
}
[TestCase(true)]
[TestCase(false)]
public async Task LastTimeStamp(bool tracking)
{
await using var database = await LocalDb();
if (tracking)
{
await database.Connection.EnableTracking();
}
var context = database.Context;
//seed with an entity so there is something in transaction log
await database.AddData(
new Company
{
Content = "The company"
});
var emptyTimeStamp = await context.GetLastTimeStamp();
IsNotEmpty(emptyTimeStamp);
IsNotNull(emptyTimeStamp);
var entity = new Company
{
Content = "The company"
};
await database.AddData(entity);
var addTimeStamp = await context.GetLastTimeStamp();
IsNotEmpty(addTimeStamp);
IsNotNull(addTimeStamp);
AreNotEqual(addTimeStamp, emptyTimeStamp);
entity.Content = "The company2";
await context.SaveChangesAsync();
var updateTimeStamp = await context.GetLastTimeStamp();
IsNotEmpty(updateTimeStamp);
IsNotNull(updateTimeStamp);
AreNotEqual(updateTimeStamp, addTimeStamp);
AreNotEqual(updateTimeStamp, emptyTimeStamp);
}
}