Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 94a18fe

Browse files
committed
Refactor to replace Templte* references with DbScript
1 parent 83818fa commit 94a18fe

3 files changed

Lines changed: 79 additions & 73 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using System.Collections.Generic;
2+
using System.Threading.Tasks;
3+
using NUnit.Framework;
4+
using ServiceStack.Script;
5+
6+
namespace ServiceStack.OrmLite.Tests
7+
{
8+
[TestFixtureOrmLite]
9+
public class DbScriptTests : OrmLiteProvidersTestBase
10+
{
11+
public DbScriptTests(DialectContext context) : base(context) {}
12+
13+
[Test]
14+
public async Task Can_retrieve_single_record_with_param()
15+
{
16+
using var db = await OpenDbConnectionAsync();
17+
db.DropAndCreateTable<Rockstar>();
18+
db.InsertAll(AutoQueryTests.SeedRockstars);
19+
20+
var args = new Dictionary<string, object> {{"id", 3}};
21+
var tableName = "Rockstar".SqlTable(DialectProvider);
22+
var result = db.Single<Rockstar>($"SELECT * FROM {tableName} WHERE Id = @id", args);
23+
Assert.That(result.FirstName, Is.EqualTo("Kurt"));
24+
25+
result = await db.SingleAsync<Rockstar>($"SELECT * FROM {tableName} WHERE Id = @id", args);
26+
Assert.That(result.FirstName, Is.EqualTo("Kurt"));
27+
28+
result = await db.SingleAsync<Rockstar>($"SELECT * FROM {tableName} WHERE Id = @id", new { id = 3 });
29+
Assert.That(result.FirstName, Is.EqualTo("Kurt"));
30+
}
31+
32+
[Test]
33+
public async Task Can_call_dbSingle_with_param()
34+
{
35+
using var db = await OpenDbConnectionAsync();
36+
db.DropAndCreateTable<Rockstar>();
37+
db.InsertAll(AutoQueryTests.SeedRockstars);
38+
39+
var firstName = "FirstName".SqlColumn(DialectProvider).StripDbQuotes();
40+
41+
var args = new Dictionary<string, object> { { "id", 3 }};
42+
43+
var filter = new DbScripts { DbFactory = base.DbFactory };
44+
45+
var result = filter.dbSingle(default, $"SELECT * FROM Rockstar WHERE Id = @id", args);
46+
47+
var objDictionary = (Dictionary<string, object>)result;
48+
Assert.That(objDictionary[firstName], Is.EqualTo("Kurt"));
49+
50+
var asyncFilter = new DbScriptsAsync { DbFactory = base.DbFactory };
51+
result = await asyncFilter.dbSingle(default, $"SELECT * FROM Rockstar WHERE Id = @id", args);
52+
53+
objDictionary = (Dictionary<string, object>)result;
54+
Assert.That(objDictionary[firstName], Is.EqualTo("Kurt"));
55+
}
56+
57+
}
58+
}

tests/ServiceStack.OrmLite.Tests/OrmLiteConnectionFactoryTests.cs

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -173,18 +173,28 @@ public void Can_open_after_close_connection()
173173
public void Can_open_different_ConnectionString_with_DbFactory()
174174
{
175175
var factory = new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider);
176-
using (var db = factory.OpenDbConnection())
177-
{
178-
Assert.That(db.State, Is.EqualTo(ConnectionState.Open));
179-
Assert.That(db.ConnectionString, Is.EqualTo(":memory:"));
176+
using var db = factory.OpenDbConnection();
177+
Assert.That(db.State, Is.EqualTo(ConnectionState.Open));
178+
Assert.That(db.ConnectionString, Is.EqualTo(":memory:"));
179+
180+
var dbFilePath = "~/db.sqlite".MapAbsolutePath();
181+
using var dbFile = factory.OpenDbConnectionString(dbFilePath);
182+
Assert.That(dbFile.State, Is.EqualTo(ConnectionState.Open));
183+
Assert.That(dbFile.ConnectionString, Is.EqualTo(dbFilePath));
184+
}
180185

181-
var dbFilePath = "~/db.sqlite".MapAbsolutePath();
182-
using (var dbFile = factory.OpenDbConnectionString(dbFilePath))
183-
{
184-
Assert.That(dbFile.State, Is.EqualTo(ConnectionState.Open));
185-
Assert.That(dbFile.ConnectionString, Is.EqualTo(dbFilePath));
186-
}
187-
}
186+
[Test]
187+
public void Can_open_different_ConnectionString_with_DbFactory_DataSource()
188+
{
189+
var factory = new OrmLiteConnectionFactory("DataSource=:memory:", SqliteDialect.Provider);
190+
using var db = factory.OpenDbConnection();
191+
Assert.That(db.State, Is.EqualTo(ConnectionState.Open));
192+
Assert.That(db.ConnectionString, Is.EqualTo("DataSource=:memory:"));
193+
194+
var dbFilePath = "~/db.sqlite".MapAbsolutePath();
195+
using var dbFile = factory.OpenDbConnectionString(dbFilePath);
196+
Assert.That(dbFile.State, Is.EqualTo(ConnectionState.Open));
197+
Assert.That(dbFile.ConnectionString, Is.EqualTo(dbFilePath));
188198
}
189199

190200
[Test]

tests/ServiceStack.OrmLite.Tests/TemplateDbTests.cs

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)