Skip to content

Commit

Permalink
#43 Add Tests
Browse files Browse the repository at this point in the history
  • Loading branch information
borisermakof committed May 30, 2017
1 parent f36fed1 commit 9eeb72f
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -434,5 +434,61 @@ public void Delete()

Assert.Equal(1, objectsCount);
}

[Fact]
public void BulkUpdate()
{
var phone1 = new Phone { Code = "Kiev123", Number = "Kiev123" };
var phone2 = new Phone { Code = "Kiev123", Number = "Kiev333" };

_sqlDatabaseFixture.Db.Phones.Insert(phone1);
_sqlDatabaseFixture.Db.Phones.Insert(phone2);

var insertedPhone1 = _sqlDatabaseFixture.Db.Phones.FindById(phone1.Id);
var insertedPhone2 = _sqlDatabaseFixture.Db.Phones.FindById(phone2.Id);
Assert.Equal("Kiev123", phone1.Number);
Assert.Equal("Kiev333", phone2.Number);

insertedPhone1.Number = "Kiev666";
insertedPhone2.Number = "Kiev777";

bool result = _sqlDatabaseFixture.Db.Phones.BulkUpdate(new List<Phone> { insertedPhone1, insertedPhone2 });

Assert.True(result);

var newPhone1 = _sqlDatabaseFixture.Db.Phones.FindById(phone1.Id);
var newPhone2 = _sqlDatabaseFixture.Db.Phones.FindById(phone2.Id);

Assert.Equal("Kiev666", newPhone1.Number);
Assert.Equal("Kiev777", newPhone2.Number);
}

[Fact]
public async void BulkUpdateAsync()
{
var phone1 = new Phone { Code = "MSK123", Number = "MSK123" };
var phone2 = new Phone { Code = "MSK123", Number = "MSK333" };

await _sqlDatabaseFixture.Db.Phones.InsertAsync(phone1);
await _sqlDatabaseFixture.Db.Phones.InsertAsync(phone2);

var insertedPhone1 = await _sqlDatabaseFixture.Db.Phones.FindByIdAsync(phone1.Id);
var insertedPhone2 = await _sqlDatabaseFixture.Db.Phones.FindByIdAsync(phone2.Id);
Assert.Equal("MSK123", phone1.Number);
Assert.Equal("MSK333", phone2.Number);

insertedPhone1.Number = "MSK666";
insertedPhone2.Number = "MSK777";

bool result = await _sqlDatabaseFixture.Db.Phones.BulkUpdateAsync(new List<Phone> { insertedPhone1, insertedPhone2 });

Assert.True(result);

var newPhone1 = await _sqlDatabaseFixture.Db.Phones.FindByIdAsync(phone1.Id);
var newPhone2 = await _sqlDatabaseFixture.Db.Phones.FindByIdAsync(phone2.Id);

Assert.Equal("MSK666", newPhone1.Number);
Assert.Equal("MSK777", newPhone2.Number);
}
}
}
32 changes: 32 additions & 0 deletions test/MicroOrm.Dapper.Repositories.Tests/Tests/SqlGeneratorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -368,5 +368,37 @@ public void MsSqlDeleteWithMultiplePredicate()

Assert.Equal("DELETE FROM [DAB].[Phones] WHERE [DAB].[Phones].[IsActive] = @IsActive AND [DAB].[Phones].[Number] = @Number", sqlQuery.GetSql());
}

[Fact]
public void MsSqlBulkUpdate()
{
ISqlGenerator<Phone> userSqlGenerator = new SqlGenerator<Phone>(ESqlConnector.MSSQL, true);
List<Phone> phones = new List<Phone>
{
new Phone { Id = 10, IsActive = true, Number = "111" },
new Phone { Id = 10, IsActive = false, Number = "222" }
};

var sqlQuery = userSqlGenerator.GetBulkUpdate(phones);

Assert.Equal(" UPDATE [DAB].[Phones] SET [Number] = @Number0, [IsActive] = @IsActive0 WHERE [Id] = @Id0" +
" UPDATE [DAB].[Phones] SET [Number] = @Number1, [IsActive] = @IsActive1 WHERE [Id] = @Id1", sqlQuery.GetSql());
}

[Fact]
public void MySqlBulkUpdate()
{
ISqlGenerator<Phone> userSqlGenerator = new SqlGenerator<Phone>(ESqlConnector.MySQL, true);
List<Phone> phones = new List<Phone>
{
new Phone { Id = 10, IsActive = true, Number = "111" },
new Phone { Id = 10, IsActive = false, Number = "222" }
};

var sqlQuery = userSqlGenerator.GetBulkUpdate(phones);

Assert.Equal(" UPDATE `DAB`.`Phones` SET `Number` = @Number0, `IsActive` = @IsActive0 WHERE `Id` = @Id0" +
" UPDATE `DAB`.`Phones` SET `Number` = @Number1, `IsActive` = @IsActive1 WHERE `Id` = @Id1", sqlQuery.GetSql());
}
}
}

0 comments on commit 9eeb72f

Please sign in to comment.