Skip to content

Commit a8200ef

Browse files
Merge pull request #138 from dotnetprojects/add-primary-key
Added more tests
2 parents d17eab4 + 4e9298d commit a8200ef

File tree

4 files changed

+111
-0
lines changed

4 files changed

+111
-0
lines changed

src/Migrator.Tests/Providers/Generic/Generic_AddPrimaryKey.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,28 @@ public void AddPrimaryKey_IdentityColumnWithData_Success()
4444
Assert.That(list[0].Item1, Is.EqualTo(1));
4545
Assert.That(list[1].Item1, Is.EqualTo(2));
4646
}
47+
48+
[Test]
49+
public void AddPrimaryKey_AddPrimaryKey_ShouldStillBeNotNull()
50+
{
51+
// Arrange
52+
const string tableName = "TestTable";
53+
const string columnName1 = "TestColumn1";
54+
const string columnName2 = "TestColumn2";
55+
56+
Provider.AddTable(tableName,
57+
new Column(columnName1, DbType.Int32, property: ColumnProperty.NotNull),
58+
new Column(columnName2, DbType.DateTime, property: ColumnProperty.NotNull)
59+
);
60+
61+
// Act
62+
Provider.AddPrimaryKey(name: "MyPkName", table: tableName, columnName1);
63+
64+
// Assert
65+
var column1 = Provider.GetColumnByName(table: tableName, column: columnName1);
66+
var column2 = Provider.GetColumnByName(table: tableName, column: columnName2);
67+
68+
Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
69+
Assert.That(column2.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
70+
}
4771
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,33 @@
1+
using System.Data;
2+
using DotNetProjects.Migrator.Framework;
13
using Migrator.Tests.Providers.Base;
4+
using NUnit.Framework;
25

36
namespace Migrator.Tests.Providers.Generic;
47

58
public abstract class Generic_ChangeColumnTestsBase : TransformationProviderBase
69
{
10+
[Test]
11+
public void ChangeColumn_NotNullAndNullToNotNull_Success()
12+
{
13+
// Arrange
14+
var tableName = "TableName";
15+
var column1Name = "Column1";
16+
var column2Name = "Column2";
17+
18+
// Act
19+
Provider.AddTable(tableName,
20+
new Column(column1Name, DbType.DateTime, ColumnProperty.NotNull),
21+
new Column(column2Name, DbType.DateTime, ColumnProperty.Null)
22+
);
23+
24+
// Assert
25+
Provider.ChangeColumn(tableName, new Column(column1Name, DbType.DateTime2, ColumnProperty.NotNull));
26+
Provider.ChangeColumn(tableName, new Column(column2Name, DbType.DateTime2, ColumnProperty.NotNull));
27+
var column1 = Provider.GetColumnByName(tableName, column1Name);
28+
var column2 = Provider.GetColumnByName(tableName, column2Name);
29+
30+
Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
31+
Assert.That(column2.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
32+
}
733
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
using System.Data;
2+
using System.Threading.Tasks;
3+
using DotNetProjects.Migrator.Framework;
4+
using Migrator.Tests.Providers.Base;
5+
using NUnit.Framework;
6+
7+
namespace Migrator.Tests.Providers.OracleProvider;
8+
9+
[TestFixture]
10+
[Category("Oracle")]
11+
public class OracleTransformationProvider_AddColumn_Tests : TransformationProviderBase
12+
{
13+
[SetUp]
14+
public async Task SetUpAsync()
15+
{
16+
await BeginOracleTransactionAsync();
17+
}
18+
19+
[Test]
20+
public void AddTable_NotNull_OtherColumnStillNotNull()
21+
{
22+
// Arrange
23+
var tableName = "TableName";
24+
var column1Name = "Column1";
25+
var column2Name = "Column2";
26+
27+
28+
Provider.AddTable(tableName,
29+
new Column(column1Name, DbType.Int32, ColumnProperty.NotNull)
30+
);
31+
32+
// Act
33+
Provider.AddColumn(table: tableName, column: new Column(column2Name, DbType.DateTime, ColumnProperty.NotNull));
34+
35+
36+
// Assert
37+
var column1 = Provider.GetColumnByName(tableName, column1Name);
38+
var column2 = Provider.GetColumnByName(tableName, column2Name);
39+
40+
Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
41+
Assert.That(column2.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
42+
}
43+
}

src/Migrator.Tests/Providers/OracleProvider/OracleTransformationProvider_AddTable_Tests.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,22 @@ public void AddTableWithCompoundPrimaryKey()
2727
Assert.That(Provider.TableExists("Test"), Is.True, "Table doesn't exist");
2828
Assert.That(Provider.PrimaryKeyExists("Test", "PK_Test"), Is.True, "Constraint doesn't exist");
2929
}
30+
31+
[Test]
32+
public void AddTable_NotNull_Success()
33+
{
34+
// Arrange
35+
var tableName = "TableName";
36+
var column1Name = "Column1";
37+
38+
// Act
39+
Provider.AddTable(tableName,
40+
new Column(column1Name, DbType.Int32, ColumnProperty.NotNull)
41+
);
42+
43+
// Assert
44+
var column1 = Provider.GetColumnByName(tableName, column1Name);
45+
46+
Assert.That(column1.ColumnProperty.HasFlag(ColumnProperty.NotNull), Is.True);
47+
}
3048
}

0 commit comments

Comments
 (0)