32 lines
No EOL
1.1 KiB
C#
32 lines
No EOL
1.1 KiB
C#
using Website.Data;
|
|
using Xunit;
|
|
using FluentAssertions;
|
|
using MySql.Data.MySqlClient;
|
|
using NSubstitute;
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
namespace Website.Tests.Data
|
|
{
|
|
public class MySQLDatabaseProviderTests
|
|
{
|
|
const string ConnectionString = "Server=host;User ID=username;Password=password;Database=database";
|
|
|
|
[Fact]
|
|
public void NewConnection_WithStringConstructor_ReturnsMySQLConnection() {
|
|
var provider = new MySQLDatabaseProvider(ConnectionString);
|
|
var connection = provider.NewConnection();
|
|
connection.Should().BeOfType<MySqlConnection>();
|
|
(connection as MySqlConnection).ConnectionString.Should().Be(ConnectionString);
|
|
}
|
|
|
|
[Fact]
|
|
public void NewConnection_WithConfigConstructor_ReturnsMySQLConnection() {
|
|
var config = Substitute.For<IConfiguration>();
|
|
config.GetConnectionString("database").Returns(ConnectionString);
|
|
var provider = new MySQLDatabaseProvider(ConnectionString);
|
|
var connection = provider.NewConnection();
|
|
connection.Should().BeOfType<MySqlConnection>();
|
|
(connection as MySqlConnection).ConnectionString.Should().Be(ConnectionString);
|
|
}
|
|
}
|
|
} |