Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using Migrator.Tests.Providers.Base;

namespace Migrator.Tests.Providers.Generic;

public abstract class Generic_ChangeColumnTestsBase : TransformationProviderBase
{
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Threading.Tasks;
using Migrator.Tests.Providers.Generic;
using NUnit.Framework;

namespace Migrator.Tests.Providers.OracleProvider;

[TestFixture]
[Category("Oracle")]
public class OracleTransformationProvider_ChangeColumn_Tests : Generic_ChangeColumnTestsBase
{
[SetUp]
public async Task SetUpAsync()
{
await BeginOracleTransactionAsync();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Threading.Tasks;
using Migrator.Tests.Providers.Generic;
using NUnit.Framework;

namespace Migrator.Tests.Providers.PostgreSQL;

[TestFixture]
[Category("Postgre")]
public class PostgreSQLTransformationProvider_ChangeColumnTests : Generic_ChangeColumnTestsBase
{
[SetUp]
public async Task SetUpAsync()
{
await BeginPostgreSQLTransactionAsync();
}
}
Original file line number Diff line number Diff line change
@@ -1,30 +1,56 @@
using System.Data;
using System.Threading.Tasks;
using DotNetProjects.Migrator.Framework;
using Migrator.Tests.Providers.Base;
using NUnit.Framework;

namespace Migrator.Tests.Providers.SQLServer;

[TestFixture]
[Category("SqlServer")]
public class SQLServerTransformationProvider_AddTableTests : TransformationProviderBase
{
[SetUp]
public async Task SetUpAsync()
{
await BeginSQLServerTransactionAsync();
}

[Test]
public void AddTableWithCompoundPrimaryKey()
{
Provider.AddTable("Test",
new Column("PersonId", DbType.Int32, ColumnProperty.PrimaryKey),
new Column("AddressId", DbType.Int32, ColumnProperty.PrimaryKey)
);

Assert.That(Provider.TableExists("Test"), Is.True, "Table doesn't exist");
Assert.That(Provider.PrimaryKeyExists("Test", "PK_Test"), Is.True, "Constraint doesn't exist");
}
}
using System.ComponentModel.DataAnnotations;
using System.Data;
using System.Threading.Tasks;
using DotNetProjects.Migrator.Framework;
using Migrator.Tests.Providers.Base;
using NUnit.Framework;
using Org.BouncyCastle.Security;

namespace Migrator.Tests.Providers.SQLServer;

[TestFixture]
[Category("SqlServer")]
public class SQLServerTransformationProvider_AddTableTests : TransformationProviderBase
{
[SetUp]
public async Task SetUpAsync()
{
await BeginSQLServerTransactionAsync();
}

[Test]
public void AddTableWithCompoundPrimaryKey()
{
Provider.AddTable("Test",
new Column("PersonId", DbType.Int32, ColumnProperty.PrimaryKey),
new Column("AddressId", DbType.Int32, ColumnProperty.PrimaryKey)
);

Assert.That(Provider.TableExists("Test"), Is.True, "Table doesn't exist");
Assert.That(Provider.PrimaryKeyExists("Test", "PK_Test"), Is.True, "Constraint doesn't exist");
}

[Test]
public void AddTableDateTime()
{
var tableName = "Table1";
var columnName = "Column1";

Provider.AddTable(tableName, new Column(columnName, DbType.DateTime, ColumnProperty.NotNull));
var column = Provider.GetColumnByName(tableName, columnName);

Assert.That(column.Type, Is.EqualTo(DbType.DateTime));
}

[Test]
public void AddTableDateTime2()
{
var tableName = "Table1";
var columnName = "Column1";

Provider.AddTable(tableName, new Column(columnName, DbType.DateTime2, ColumnProperty.NotNull));
var column = Provider.GetColumnByName(tableName, columnName);

Assert.That(column.Type, Is.EqualTo(DbType.DateTime2));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.Linq;
using System.Threading.Tasks;
using DotNetProjects.Migrator.Framework;
using DotNetProjects.Migrator.Providers.Models.Indexes;
using DotNetProjects.Migrator.Providers.Models.Indexes.Enums;
using Migrator.Tests.Providers.Generic;
using NUnit.Framework;
using Index = DotNetProjects.Migrator.Framework.Index;

namespace Migrator.Tests.Providers.SQLServer;

[TestFixture]
[Category("SqlServer")]
public class SQLServerTransformationProvider_ChangeColumnTests : Generic_AddIndexTestsBase
{
[SetUp]
public async Task SetUpAsync()
{
await BeginSQLServerTransactionAsync();
}

[Test]
public void ChangeColumn_DateTimeToDateTime2_Success()
{
// Arrange
const string tableName = "TestTable";
const string columnName = "TestColumn";

Provider.AddTable(tableName, new Column(columnName, DbType.DateTime, ColumnProperty.NotNull));
var columnBefore = Provider.GetColumnByName(tableName, columnName);

// Act
Provider.ChangeColumn(tableName, new Column(columnName, DbType.DateTime2, ColumnProperty.NotNull));

// Assert
var columnAfter = Provider.GetColumnByName(tableName, columnName);

Assert.That(columnBefore.Type == DbType.DateTime);
Assert.That(columnAfter.Type == DbType.DateTime2);
}
}
Loading
Loading