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
24 changes: 24 additions & 0 deletions src/Migrator.Tests/Providers/Generic/Generic_AddPrimaryKey.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,28 @@ public void AddPrimaryKey_IdentityColumnWithData_Success()
Assert.That(list[0].Item1, Is.EqualTo(1));
Assert.That(list[1].Item1, Is.EqualTo(2));
}

[Test]
public void AddPrimaryKey_AddPrimaryKey_ShouldStillBeNotNull()
{
// Arrange
const string tableName = "TestTable";
const string columnName1 = "TestColumn1";
const string columnName2 = "TestColumn2";

Provider.AddTable(tableName,
new Column(columnName1, DbType.Int32, property: ColumnProperty.NotNull),
new Column(columnName2, DbType.DateTime, property: ColumnProperty.NotNull)
);

// Act
Provider.AddPrimaryKey(name: "MyPkName", table: tableName, columnName1);

// Assert
var column1 = Provider.GetColumnByName(table: tableName, column: columnName1);
var column2 = Provider.GetColumnByName(table: tableName, column: columnName2);

Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
Assert.That(column2.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,33 @@
using System.Data;
using DotNetProjects.Migrator.Framework;
using Migrator.Tests.Providers.Base;
using NUnit.Framework;

namespace Migrator.Tests.Providers.Generic;

public abstract class Generic_ChangeColumnTestsBase : TransformationProviderBase
{
[Test]
public void ChangeColumn_NotNullAndNullToNotNull_Success()
{
// Arrange
var tableName = "TableName";
var column1Name = "Column1";
var column2Name = "Column2";

// Act
Provider.AddTable(tableName,
new Column(column1Name, DbType.DateTime, ColumnProperty.NotNull),
new Column(column2Name, DbType.DateTime, ColumnProperty.Null)
);

// Assert
Provider.ChangeColumn(tableName, new Column(column1Name, DbType.DateTime2, ColumnProperty.NotNull));
Provider.ChangeColumn(tableName, new Column(column2Name, DbType.DateTime2, ColumnProperty.NotNull));
var column1 = Provider.GetColumnByName(tableName, column1Name);
var column2 = Provider.GetColumnByName(tableName, column2Name);

Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
Assert.That(column2.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using System.Data;
using System.Threading.Tasks;
using DotNetProjects.Migrator.Framework;
using Migrator.Tests.Providers.Base;
using NUnit.Framework;

namespace Migrator.Tests.Providers.OracleProvider;

[TestFixture]
[Category("Oracle")]
public class OracleTransformationProvider_AddColumn_Tests : TransformationProviderBase
{
[SetUp]
public async Task SetUpAsync()
{
await BeginOracleTransactionAsync();
}

[Test]
public void AddTable_NotNull_OtherColumnStillNotNull()
{
// Arrange
var tableName = "TableName";
var column1Name = "Column1";
var column2Name = "Column2";


Provider.AddTable(tableName,
new Column(column1Name, DbType.Int32, ColumnProperty.NotNull)
);

// Act
Provider.AddColumn(table: tableName, column: new Column(column2Name, DbType.DateTime, ColumnProperty.NotNull));


// Assert
var column1 = Provider.GetColumnByName(tableName, column1Name);
var column2 = Provider.GetColumnByName(tableName, column2Name);

Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
Assert.That(column2.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,22 @@ public void AddTableWithCompoundPrimaryKey()
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 AddTable_NotNull_Success()
{
// Arrange
var tableName = "TableName";
var column1Name = "Column1";

// Act
Provider.AddTable(tableName,
new Column(column1Name, DbType.Int32, ColumnProperty.NotNull)
);

// Assert
var column1 = Provider.GetColumnByName(tableName, column1Name);

Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
}
}
Loading