website/Website.Tests/Data/MySQLDatabaseProviderTests.cs

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);
}
}
}