Skip to content

Commit 9b8517b

Browse files
committed
Added tests for first async and single async of T
1 parent 924e78e commit 9b8517b

File tree

2 files changed

+89
-0
lines changed

2 files changed

+89
-0
lines changed

src/DataAbstractions.Dapper.Tests/DataAccessorTests.cs

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,82 @@ public async void QuerySingleAsyncCmdDefParameterWorks()
215215
lastName.Should().Be("Doe");
216216
}
217217

218+
[Fact]
219+
public async void QueryFirstAsyncOfTWorks()
220+
{
221+
222+
using var dataAccessor = CreateDataAccessor();
223+
224+
dataAccessor.Open();
225+
226+
using var transaction = dataAccessor.BeginTransaction();
227+
228+
var result = await dataAccessor.QueryFirstAsync<Employee>("select * from Employee where lastname = @LastName order by id", new { LastName = "Doe" }, transaction, null, commandType: System.Data.CommandType.Text);
229+
int? id = result.Id;
230+
string firstName = result.FirstName;
231+
string lastName = result.LastName;
232+
id.Should().Be(1);
233+
firstName.Should().Be("John");
234+
lastName.Should().Be("Doe");
235+
}
236+
237+
[Fact]
238+
public async void QueryFirstOrDefaultAsyncOfTWorks()
239+
{
218240

241+
using var dataAccessor = CreateDataAccessor();
242+
243+
dataAccessor.Open();
244+
245+
using var transaction = dataAccessor.BeginTransaction();
246+
247+
var result = await dataAccessor.QueryFirstOrDefaultAsync<Employee>("select * from Employee where lastname = @LastName order by id", new { LastName = "Doe" }, transaction, null, commandType: System.Data.CommandType.Text);
248+
int? id = result.Id;
249+
string firstName = result.FirstName;
250+
string lastName = result.LastName;
251+
id.Should().Be(1);
252+
firstName.Should().Be("John");
253+
lastName.Should().Be("Doe");
254+
}
255+
256+
[Fact]
257+
public async void QuerySingleAsyncOfTWorks()
258+
{
259+
260+
using var dataAccessor = CreateDataAccessor();
261+
262+
dataAccessor.Open();
263+
264+
using var transaction = dataAccessor.BeginTransaction();
265+
266+
var result = await dataAccessor.QuerySingleAsync<Employee>("select * from Employee where Id = @Id", new { Id = 2 }, transaction, null, commandType: System.Data.CommandType.Text);
267+
int? id = result.Id;
268+
string firstName = result.FirstName;
269+
string lastName = result.LastName;
270+
id.Should().Be(2);
271+
firstName.Should().Be("Jane");
272+
lastName.Should().Be("Doe");
273+
}
274+
275+
276+
[Fact]
277+
public async void QuerySingleOrDefaultAsyncOfTWorks()
278+
{
279+
280+
using var dataAccessor = CreateDataAccessor();
281+
282+
dataAccessor.Open();
283+
284+
using var transaction = dataAccessor.BeginTransaction();
285+
286+
var result = await dataAccessor.QuerySingleOrDefaultAsync<Employee>("select * from Employee where Id = @Id", new { Id = 2 }, transaction, null, commandType: System.Data.CommandType.Text);
287+
int? id = result.Id;
288+
string firstName = result.FirstName;
289+
string lastName = result.LastName;
290+
id.Should().Be(2);
291+
firstName.Should().Be("Jane");
292+
lastName.Should().Be("Doe");
293+
}
219294
[Fact]
220295
public async void QueryAsyncOfTWorks()
221296
{
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace DataAbstractions.Dapper.Tests
2+
{
3+
public class Employee
4+
{
5+
6+
public int Id { get; set; }
7+
public int CompanyId { get; set; }
8+
public int DepartmentId { get; set; }
9+
public string FirstName { get; set; }
10+
public string LastName { get; set; }
11+
public string Title { get; set; }
12+
13+
}
14+
}

0 commit comments

Comments
 (0)