Skip to content

Commit 909a6e0

Browse files
committed
Update MySQL generator tests
Refs: #489
1 parent 6ab9d65 commit 909a6e0

1 file changed

Lines changed: 58 additions & 52 deletions

File tree

tests/SqlGenerator.Tests/MySqlGeneratorTests.cs renamed to tests/SqlGenerator.Tests/MySQLGeneratorTests.cs

Lines changed: 58 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,112 +8,116 @@
88

99
namespace SqlGenerator.Tests;
1010

11-
public class MySqlGeneratorTests
11+
// ReSharper disable once InconsistentNaming
12+
public class MySQLGeneratorTests
1213
{
1314
private const SqlProvider _sqlConnector = SqlProvider.MySQL;
1415

1516
[Fact]
1617
public static void Count()
1718
{
18-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
19-
var sqlQuery = userSqlGenerator.GetCount(null);
19+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
20+
var sqlQuery = sqlGenerator.GetCount(null);
2021
Assert.Equal("SELECT COUNT(*) FROM `Users` WHERE `Users`.`Deleted` IS NULL", sqlQuery.GetSql());
2122
}
2223

2324
[Fact]
2425
public static void CountWithDistinct()
2526
{
26-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
27-
var sqlQuery = userSqlGenerator.GetCount(null, user => user.AddressId);
27+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
28+
var sqlQuery = sqlGenerator.GetCount(null, user => user.AddressId);
2829
Assert.Equal("SELECT COUNT(DISTINCT `Users`.`AddressId`) FROM `Users` WHERE `Users`.`Deleted` IS NULL", sqlQuery.GetSql());
2930
}
3031

3132
[Fact]
3233
public static void CountWithDistinctAndWhere()
3334
{
34-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
35-
var sqlQuery = userSqlGenerator.GetCount(x => x.PhoneId == 1, user => user.AddressId);
36-
Assert.Equal("SELECT COUNT(DISTINCT `Users`.`AddressId`) FROM `Users` WHERE (`Users`.`PhoneId` = @PhoneId_p0) AND `Users`.`Deleted` IS NULL", sqlQuery.GetSql());
35+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
36+
var sqlQuery = sqlGenerator.GetCount(x => x.PhoneId == 1, user => user.AddressId);
37+
Assert.Equal("SELECT COUNT(DISTINCT `Users`.`AddressId`) FROM `Users` WHERE (`Users`.`PhoneId` = @PhoneId_p0) AND `Users`.`Deleted` IS NULL",
38+
sqlQuery.GetSql());
3739
}
3840

3941
[Fact]
4042
public void BulkUpdate()
4143
{
42-
ISqlGenerator<Phone> userSqlGenerator = new SqlGenerator<Phone>(_sqlConnector);
44+
var sqlGenerator = new SqlGenerator<Phone>(_sqlConnector);
4345
var phones = new List<Phone>
4446
{
4547
new() { Id = 10, IsActive = true, PNumber = "111" },
4648
new() { Id = 10, IsActive = false, PNumber = "222" }
4749
};
4850

49-
var sqlQuery = userSqlGenerator.GetBulkUpdate(phones);
51+
var sqlQuery = sqlGenerator.GetBulkUpdate(phones);
5052

51-
Assert.Equal("UPDATE DAB.Phones SET PNumber = @PNumber0, IsActive = @IsActive0 WHERE Id = @Id0; " +
52-
"UPDATE DAB.Phones SET PNumber = @PNumber1, IsActive = @IsActive1 WHERE Id = @Id1", sqlQuery.GetSql());
53+
Assert.Equal("UPDATE DAB.Phones SET PNumber = @PNumber0, IsActive = @IsActive0, Deleted = @Deleted0 WHERE Id = @Id0; " +
54+
"UPDATE DAB.Phones SET PNumber = @PNumber1, IsActive = @IsActive1, Deleted = @Deleted1 WHERE Id = @Id1", sqlQuery.GetSql());
5355
}
5456

5557
[Fact]
5658
public void BulkUpdate_QuoMarks()
5759
{
58-
ISqlGenerator<Phone> userSqlGenerator = new SqlGenerator<Phone>(_sqlConnector, true);
60+
var sqlGenerator = new SqlGenerator<Phone>(_sqlConnector, true);
5961
var phones = new List<Phone>
6062
{
6163
new() { Id = 10, IsActive = true, PNumber = "111" },
6264
new() { Id = 10, IsActive = false, PNumber = "222" }
6365
};
6466

65-
var sqlQuery = userSqlGenerator.GetBulkUpdate(phones);
67+
var sqlQuery = sqlGenerator.GetBulkUpdate(phones);
6668

67-
Assert.Equal("UPDATE `DAB`.`Phones` SET `PNumber` = @PNumber0, `IsActive` = @IsActive0 WHERE `Id` = @Id0; " +
68-
"UPDATE `DAB`.`Phones` SET `PNumber` = @PNumber1, `IsActive` = @IsActive1 WHERE `Id` = @Id1", sqlQuery.GetSql());
69+
Assert.Equal("UPDATE `DAB`.`Phones` SET `PNumber` = @PNumber0, `IsActive` = @IsActive0, `Deleted` = @Deleted0 WHERE `Id` = @Id0; " +
70+
"UPDATE `DAB`.`Phones` SET `PNumber` = @PNumber1, `IsActive` = @IsActive1, `Deleted` = @Deleted1 WHERE `Id` = @Id1", sqlQuery.GetSql());
6971
}
7072

7173
[Fact]
7274
public void Update_Dictionary()
7375
{
74-
ISqlGenerator<Phone> userSqlGenerator = new SqlGenerator<Phone>(_sqlConnector, true);
76+
var sqlGenerator = new SqlGenerator<Phone>(_sqlConnector, true);
7577
var fieldDict = new Dictionary<string, object> { { "PNumber", "18573175437" } };
7678

77-
var sqlQuery = userSqlGenerator.GetUpdate(p => p.Id == 1, fieldDict);
79+
var sqlQuery = sqlGenerator.GetUpdate(p => p.Id == 1, fieldDict);
7880
string sql = sqlQuery.GetSql();
7981
Assert.Equal("UPDATE `DAB`.`Phones` SET `DAB`.`Phones`.`PNumber` = @PhonePNumber WHERE `DAB`.`Phones`.`Id` = @Id_p0", sql);
8082
}
8183

8284
[Fact]
8385
public void Update_Anonymous()
8486
{
85-
ISqlGenerator<Phone> userSqlGenerator = new SqlGenerator<Phone>(_sqlConnector, true);
87+
var sqlGenerator = new SqlGenerator<Phone>(_sqlConnector, true);
8688

87-
var sqlQuery = userSqlGenerator.GetUpdate(p => p.Id == 1, new { PNumber = "18573175437" });
89+
var sqlQuery = sqlGenerator.GetUpdate(p => p.Id == 1, new { PNumber = "18573175437" });
8890
string sql = sqlQuery.GetSql();
8991
Assert.Equal("UPDATE `DAB`.`Phones` SET `DAB`.`Phones`.`PNumber` = @PhonePNumber WHERE `DAB`.`Phones`.`Id` = @Id_p0", sql);
9092
}
9193

9294
[Fact]
9395
public void Insert_QuoMarks()
9496
{
95-
ISqlGenerator<Address> userSqlGenerator = new SqlGenerator<Address>(_sqlConnector, true);
96-
var sqlQuery = userSqlGenerator.GetInsert(new Address());
97+
var sqlGenerator = new SqlGenerator<Address>(_sqlConnector, true);
98+
var sqlQuery = sqlGenerator.GetInsert(new Address());
9799

98-
Assert.Equal("INSERT INTO `Addresses` (`Street`, `CityId`) VALUES (@Street, @CityId); SELECT CONVERT(LAST_INSERT_ID(), SIGNED INTEGER) AS `Id`", sqlQuery.GetSql());
100+
Assert.Equal("INSERT INTO `Addresses` (`Street`, `CityId`) VALUES (@Street, @CityId); SELECT CONVERT(LAST_INSERT_ID(), SIGNED INTEGER) AS `Id`",
101+
sqlQuery.GetSql());
99102
}
100103

101104
[Fact]
102105
public void Insert_AllowKeyAsIdentity_QuoMarks()
103106
{
104107
MicroOrmConfig.AllowKeyAsIdentity = true;
105-
ISqlGenerator<AddressKeyAsIdentity> userSqlGenerator = new SqlGenerator<AddressKeyAsIdentity>(_sqlConnector, true);
106-
var sqlQuery = userSqlGenerator.GetInsert(new AddressKeyAsIdentity());
108+
var sqlGenerator = new SqlGenerator<AddressKeyAsIdentity>(_sqlConnector, true);
109+
var sqlQuery = sqlGenerator.GetInsert(new AddressKeyAsIdentity());
107110

108-
Assert.Equal("INSERT INTO `Addresses` (`Street`, `CityId`) VALUES (@Street, @CityId); SELECT CONVERT(LAST_INSERT_ID(), SIGNED INTEGER) AS `Id`", sqlQuery.GetSql());
111+
Assert.Equal("INSERT INTO `Addresses` (`Street`, `CityId`) VALUES (@Street, @CityId); SELECT CONVERT(LAST_INSERT_ID(), SIGNED INTEGER) AS `Id`",
112+
sqlQuery.GetSql());
109113
MicroOrmConfig.AllowKeyAsIdentity = false;
110114
}
111115

112116
[Fact]
113117
public void IsNotNull()
114118
{
115-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
116-
var sqlQuery = userSqlGenerator.GetSelectAll(user => user.UpdatedAt != null, null);
119+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
120+
var sqlQuery = sqlGenerator.GetSelectAll(user => user.UpdatedAt != null, null);
117121

118122
Assert.Equal(
119123
"SELECT `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, `Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Users` " +
@@ -124,15 +128,15 @@ public void IsNotNull()
124128
[Fact]
125129
public void IsNotNullAnd()
126130
{
127-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
128-
var sqlQuery = userSqlGenerator.GetSelectAll(user => user.Name == "Frank" && user.UpdatedAt != null, null);
131+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
132+
var sqlQuery = sqlGenerator.GetSelectAll(user => user.Name == "Frank" && user.UpdatedAt != null, null);
129133

130134
Assert.Equal(
131135
"SELECT `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, `Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Users` " +
132136
"WHERE (`Users`.`Name` = @Name_p0 AND `Users`.`UpdatedAt` IS NOT NULL) AND `Users`.`Deleted` IS NULL", sqlQuery.GetSql());
133137
Assert.DoesNotContain("!= NULL", sqlQuery.GetSql());
134138

135-
sqlQuery = userSqlGenerator.GetSelectAll(user => user.UpdatedAt != null && user.Name == "Frank", null);
139+
sqlQuery = sqlGenerator.GetSelectAll(user => user.UpdatedAt != null && user.Name == "Frank", null);
136140
Assert.Equal(
137141
"SELECT `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, `Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Users` " +
138142
"WHERE (`Users`.`UpdatedAt` IS NOT NULL AND `Users`.`Name` = @Name_p1) AND `Users`.`Deleted` IS NULL", sqlQuery.GetSql());
@@ -142,8 +146,8 @@ public void IsNotNullAnd()
142146
[Fact]
143147
public void SelectBetween()
144148
{
145-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
146-
var sqlQuery = userSqlGenerator.GetSelectBetween(1, 10, null, x => x.Id);
149+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
150+
var sqlQuery = sqlGenerator.GetSelectBetween(1, 10, null, x => x.Id);
147151

148152
Assert.Equal(
149153
"SELECT `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, `Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Users` " +
@@ -153,33 +157,34 @@ public void SelectBetween()
153157
[Fact]
154158
public void SelectById()
155159
{
156-
ISqlGenerator<Address> sqlGenerator = new SqlGenerator<Address>(_sqlConnector, false);
160+
var sqlGenerator = new SqlGenerator<Address>(_sqlConnector, false);
157161
var sqlQuery = sqlGenerator.GetSelectById(1, null);
158162
Assert.Equal("SELECT Addresses.Id, Addresses.Street, Addresses.CityId FROM Addresses WHERE Addresses.Id = @Id LIMIT 1", sqlQuery.GetSql());
159163
}
160164

161165
[Fact]
162166
public static void SelectByIdJoin()
163167
{
164-
var generator = new SqlGenerator<Address>(_sqlConnector, true);
165-
var sqlQuery = generator.GetSelectById(1, null, q => q.Users);
166-
Assert.Equal("SELECT `Addresses`.`Id`, `Addresses`.`Street`, `Addresses`.`CityId`, `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, " +
167-
"`Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Addresses` " +
168-
"LEFT JOIN `Users` ON `Addresses`.`Id` = `Users`.`AddressId` WHERE `Addresses`.`Id` = @Id", sqlQuery.GetSql());
168+
var sqlGenerator = new SqlGenerator<Address>(_sqlConnector, true);
169+
var sqlQuery = sqlGenerator.GetSelectById(1, null, q => q.Users);
170+
Assert.Equal(
171+
"SELECT `Addresses`.`Id`, `Addresses`.`Street`, `Addresses`.`CityId`, `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, " +
172+
"`Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Addresses` " +
173+
"LEFT JOIN `Users` ON `Addresses`.`Id` = `Users`.`AddressId` WHERE `Addresses`.`Id` = @Id", sqlQuery.GetSql());
169174
}
170175

171176
[Fact]
172177
public void SelectFirst()
173178
{
174-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
179+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
175180
var sqlQuery = sqlGenerator.GetSelectFirst(x => x.Identifier == Guid.Empty, null);
176181
Assert.Equal("SELECT Cities.Identifier, Cities.Name FROM Cities WHERE Cities.Identifier = @Identifier_p0 LIMIT 1", sqlQuery.GetSql());
177182
}
178183

179184
[Fact]
180185
public void SelectLimit()
181186
{
182-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
187+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
183188
var filterData = new FilterData();
184189
var data = filterData.LimitInfo ?? new LimitInfo();
185190
data.Limit = 10u;
@@ -192,7 +197,7 @@ public void SelectLimit()
192197
[Fact]
193198
public void SelectOrderBy()
194199
{
195-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
200+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
196201
var filterData = new FilterData();
197202
var data = filterData.OrderInfo ?? new OrderInfo();
198203
data.Columns = new List<string> { "Name" };
@@ -206,7 +211,7 @@ public void SelectOrderBy()
206211
[Fact]
207212
public void SelectOrderByWithTableIdentifier_QuoMarks()
208213
{
209-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, true);
214+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, true);
210215
var filterData = new FilterData();
211216
var data = filterData.OrderInfo ?? new OrderInfo();
212217
data.Columns = new List<string> { "Cities.Name" };
@@ -221,7 +226,7 @@ public void SelectOrderByWithTableIdentifier_QuoMarks()
221226
[Fact]
222227
public void SelectPaged()
223228
{
224-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
229+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
225230
var filterData = new FilterData();
226231
var data = filterData.LimitInfo ?? new LimitInfo();
227232
data.Limit = 10u;
@@ -235,24 +240,25 @@ public void SelectPaged()
235240
[Fact]
236241
public void SelectFirst2()
237242
{
238-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
243+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, false);
239244
var sqlQuery = sqlGenerator.GetSelectFirst(x => x.Identifier == Guid.Empty && x.Name == "", null);
240-
Assert.Equal("SELECT Cities.Identifier, Cities.Name FROM Cities WHERE Cities.Identifier = @Identifier_p0 AND Cities.Name = @Name_p1 LIMIT 1", sqlQuery.GetSql());
245+
Assert.Equal("SELECT Cities.Identifier, Cities.Name FROM Cities WHERE Cities.Identifier = @Identifier_p0 AND Cities.Name = @Name_p1 LIMIT 1",
246+
sqlQuery.GetSql());
241247
}
242248

243249
[Fact]
244250
public void SelectFirst_QuoMarks()
245251
{
246-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector, true);
252+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector, true);
247253
var sqlQuery = sqlGenerator.GetSelectFirst(x => x.Identifier == Guid.Empty, null);
248254
Assert.Equal("SELECT `Cities`.`Identifier`, `Cities`.`Name` FROM `Cities` WHERE `Cities`.`Identifier` = @Identifier_p0 LIMIT 1", sqlQuery.GetSql());
249255
}
250256

251257
[Fact]
252258
public void SelectFirstWithDeleted()
253259
{
254-
ISqlGenerator<User> userSqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
255-
var sqlQuery = userSqlGenerator.GetSelectFirst(x => x.Id == 6, null);
260+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector, true);
261+
var sqlQuery = sqlGenerator.GetSelectFirst(x => x.Id == 6, null);
256262
Assert.Equal(
257263
"SELECT `Users`.`Id`, `Users`.`Name`, `Users`.`AddressId`, `Users`.`PhoneId`, `Users`.`OfficePhoneId`, `Users`.`Deleted`, `Users`.`UpdatedAt` FROM `Users` WHERE (`Users`.`Id` = @Id_p0) AND `Users`.`Deleted` IS NULL LIMIT 1",
258264
sqlQuery.GetSql());
@@ -261,7 +267,7 @@ public void SelectFirstWithDeleted()
261267
[Fact]
262268
public static void UpdateWithPredicateAndJoin()
263269
{
264-
ISqlGenerator<User> sqlGenerator = new SqlGenerator<User>(_sqlConnector);
270+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector);
265271
var model = new User { Addresses = new Address() };
266272
var sqlQuery = sqlGenerator.GetUpdate(q => q.AddressId == 1, model, x => x.Addresses);
267273
var sql = sqlQuery.GetSql();
@@ -273,7 +279,7 @@ public static void UpdateWithPredicateAndJoin()
273279
[Fact]
274280
public static void UpdateWithJoin()
275281
{
276-
ISqlGenerator<User> sqlGenerator = new SqlGenerator<User>(_sqlConnector);
282+
var sqlGenerator = new SqlGenerator<User>(_sqlConnector);
277283
var model = new User { Addresses = new Address() };
278284
var sqlQuery = sqlGenerator.GetUpdate(model, x => x.Addresses);
279285
var sql = sqlQuery.GetSql();
@@ -285,7 +291,7 @@ public static void UpdateWithJoin()
285291
[Fact]
286292
public static void SetOrderByAndSetLimitWithWhere()
287293
{
288-
ISqlGenerator<City> sqlGenerator = new SqlGenerator<City>(_sqlConnector);
294+
var sqlGenerator = new SqlGenerator<City>(_sqlConnector);
289295

290296
var filterData = new FilterData
291297
{

0 commit comments

Comments
 (0)