1
1
using System ;
2
+ using System . Threading . Tasks ;
2
3
using NUnit . Framework ;
3
4
using ServiceStack . DataAnnotations ;
4
5
@@ -43,6 +44,31 @@ public void Does_populate_and_return_new_guid_on_insert()
43
44
}
44
45
}
45
46
47
+ [ Test ]
48
+ public async Task Does_populate_and_return_new_guid_on_insert_Async ( )
49
+ {
50
+ using ( var db = OpenDbConnection ( ) )
51
+ {
52
+ db . DropAndCreateTable < GuidAutoId > ( ) ;
53
+
54
+ var guidA = new GuidAutoId { Name = "A" } ;
55
+ var guidB = new GuidAutoId { Name = "B" } ;
56
+
57
+ await db . InsertAsync ( guidA ) ;
58
+ await db . InsertAsync ( guidB ) ;
59
+
60
+ Assert . That ( guidA . Id , Is . Not . EqualTo ( new Guid ( ) ) ) ;
61
+ Assert . That ( guidB . Id , Is . Not . EqualTo ( new Guid ( ) ) ) ;
62
+ Assert . That ( guidA . Id , Is . Not . EqualTo ( guidB ) ) ;
63
+
64
+ var dbA = await db . SingleByIdAsync < GuidAutoId > ( guidA . Id ) ;
65
+ Assert . That ( dbA . Name , Is . EqualTo ( guidA . Name ) ) ;
66
+
67
+ var dbB = await db . SingleByIdAsync < GuidAutoId > ( guidB . Id ) ;
68
+ Assert . That ( dbB . Name , Is . EqualTo ( guidB . Name ) ) ;
69
+ }
70
+ }
71
+
46
72
[ Test ]
47
73
public void Does_populate_and_return_new_guid_on_save ( )
48
74
{
@@ -68,6 +94,31 @@ public void Does_populate_and_return_new_guid_on_save()
68
94
}
69
95
}
70
96
97
+ [ Test ]
98
+ public async Task Does_populate_and_return_new_guid_on_save_Async ( )
99
+ {
100
+ using ( var db = OpenDbConnection ( ) )
101
+ {
102
+ db . DropAndCreateTable < GuidAutoId > ( ) ;
103
+
104
+ var guidA = new GuidAutoId { Name = "A" } ;
105
+ var guidB = new GuidAutoId { Name = "B" } ;
106
+
107
+ await db . SaveAsync ( guidA ) ;
108
+ await db . SaveAsync ( guidB ) ;
109
+
110
+ Assert . That ( guidA . Id , Is . Not . EqualTo ( new Guid ( ) ) ) ;
111
+ Assert . That ( guidB . Id , Is . Not . EqualTo ( new Guid ( ) ) ) ;
112
+ Assert . That ( guidA . Id , Is . Not . EqualTo ( guidB ) ) ;
113
+
114
+ var dbA = await db . SingleByIdAsync < GuidAutoId > ( guidA . Id ) ;
115
+ Assert . That ( dbA . Name , Is . EqualTo ( guidA . Name ) ) ;
116
+
117
+ var dbB = await db . SingleByIdAsync < GuidAutoId > ( guidB . Id ) ;
118
+ Assert . That ( dbB . Name , Is . EqualTo ( guidB . Name ) ) ;
119
+ }
120
+ }
121
+
71
122
[ Test ]
72
123
public void Uses_existing_Guid_Id_if_not_Empty ( )
73
124
{
0 commit comments