init
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
using DTS.Common.Interface.TestMetaData;
|
||||
using DTS.Common.Classes.TestEngineerDetails;
|
||||
using NUnit.Framework;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace DatabaseUnitTesting
|
||||
{
|
||||
[TestFixture]
|
||||
public partial class DBAPITests
|
||||
{
|
||||
public TestEngineerDetailsDbRecord CreateFakeTestEngineerDetails(string name)
|
||||
{
|
||||
var record = new TestEngineerDetailsDbRecord();
|
||||
record.TestEngineerId = -1;
|
||||
record.Name = name;
|
||||
record.TestEngineerName = Guid.NewGuid().ToString().Substring(0, 15);
|
||||
record.TestEngineerName = Guid.NewGuid().ToString().Substring(0, 15);
|
||||
record.TestEngineerPhone = Guid.NewGuid().ToString().Substring(0, 15);
|
||||
record.TestEngineerFax = Guid.NewGuid().ToString().Substring(0, 15);
|
||||
record.TestEngineerEmail = Guid.NewGuid().ToString().Substring(0, 15);
|
||||
record.LocalOnly = true;
|
||||
record.LastModified = DateTime.Today;
|
||||
record.LastModifiedBy = "NUNIT";
|
||||
record.Version = 1;
|
||||
return record;
|
||||
}
|
||||
[Test]
|
||||
public void TestEngineerDetails()
|
||||
{
|
||||
if (!_setup) { Setup(); }
|
||||
TestLogin();
|
||||
var connections = DbAPI.DbAPI.Connections.GetActiveConnections();
|
||||
|
||||
//Delete all to start with a blank table
|
||||
var hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsDelete(_user, connections.First(), null, out string errorMessage);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsDelete");
|
||||
//Get all
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), null, out ITestEngineerDetailsDbRecord[] allTestEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != allTestEngineerDetailsDbRecords && allTestEngineerDetailsDbRecords.Length == 0, "TestEngineerDetailsGet should have retrieved 0 records");
|
||||
|
||||
//we'll insert two records, one which is the one we'll be testing with get, and one that is just a decoy
|
||||
//for tests which we do not expect to be returned, etc.
|
||||
var legitRecord = CreateFakeTestEngineerDetails("legit");
|
||||
var decoyRecord = CreateFakeTestEngineerDetails("decoy");
|
||||
|
||||
//Insert
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsInsert(_user, connections.First(), legitRecord, out int newLegitId, out string legitErrorString);
|
||||
Assert.IsTrue(0 == hr, "Should be able to insert a legitimate TestEngineerDetails record");
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsInsert(_user, connections.First(), decoyRecord, out int newFakeId, out string fakeErrorString);
|
||||
Assert.IsTrue(0 == hr, "Should be able to insert a decoy TestEngineerDetails record");
|
||||
//Get by Name
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), legitRecord.Name, out ITestEngineerDetailsDbRecord[] testEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != testEngineerDetailsDbRecords && testEngineerDetailsDbRecords.Length == 1, "TestEngineerDetailsGet should have retrieved 1 record");
|
||||
Assert.IsTrue(testEngineerDetailsDbRecords.Any(r => r.Name == legitRecord.Name), "TestEngineerDetailsGet should have retrieved only one record");
|
||||
//Get all
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), null, out allTestEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != allTestEngineerDetailsDbRecords && allTestEngineerDetailsDbRecords.Length == 2, "TestEngineerDetailsGet should have retrieved 2 records");
|
||||
Assert.IsTrue(allTestEngineerDetailsDbRecords.Any(r => r.Name == legitRecord.Name), "TestEngineerDetailsGet should have retrieved our record");
|
||||
Assert.IsTrue(allTestEngineerDetailsDbRecords.Any(r => r.Name == decoyRecord.Name), "TestEngineerDetailsGet should have retrieved our record");
|
||||
|
||||
//Update
|
||||
var newTestEngineerPhone = Guid.NewGuid().ToString().Substring(0, 15);
|
||||
legitRecord.TestEngineerPhone = newTestEngineerPhone;
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsUpdate(_user, connections.First(), legitRecord, out legitErrorString);
|
||||
Assert.IsTrue(0 == hr, "Should be able to insert a legitimate TestEngineerDetails record");
|
||||
Assert.IsTrue(legitErrorString == string.Empty, $"Error when inserting a legitimate TestEngineerDetails record: {legitErrorString}");
|
||||
//Get by Name
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), legitRecord.Name, out testEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != testEngineerDetailsDbRecords && testEngineerDetailsDbRecords.Length == 1, "TestEngineerDetailsGet should have retrieved 1 record");
|
||||
Assert.IsTrue(testEngineerDetailsDbRecords.Any(r => r.TestEngineerPhone == newTestEngineerPhone), "TestEngineerDetailsGet should have retrieved the updated record");
|
||||
|
||||
//Delete by Name
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsDelete(_user, connections.First(), legitRecord.Name, out errorMessage);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsDelete");
|
||||
//Get by Name
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), legitRecord.Name, out testEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != testEngineerDetailsDbRecords, "TestEngineerDetailsGet should not have retrieved this record");
|
||||
Assert.IsFalse(testEngineerDetailsDbRecords.Any(r => r.Name == legitRecord.Name), "TestEngineerDetailsGet should not have retrieved this record");
|
||||
//Get all
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), null, out allTestEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != allTestEngineerDetailsDbRecords && allTestEngineerDetailsDbRecords.Length == 1, "TestEngineerDetailsGet should have retrieved only the decoy record");
|
||||
Assert.IsFalse(allTestEngineerDetailsDbRecords.Any(r => r.Name == legitRecord.Name), "TestEngineerDetailsGet not should have retrieved this record");
|
||||
Assert.IsTrue(allTestEngineerDetailsDbRecords.Any(r => r.Name == decoyRecord.Name), "TestEngineerDetailsGet should have retrieved this record");
|
||||
|
||||
//Delete all
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsDelete(_user, connections.First(), null, out errorMessage);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsDelete");
|
||||
//Get by Name
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), legitRecord.Name, out testEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != testEngineerDetailsDbRecords, "TestEngineerDetailsGet should not have retrieved this record");
|
||||
Assert.IsFalse(testEngineerDetailsDbRecords.Any(r => r.Name == legitRecord.Name), "TestEngineerDetailsGet should not have retrieved any records");
|
||||
//Get all
|
||||
hr = DbAPI.DbAPI.TestEngineerDetails.TestEngineerDetailsGet(_user, connections.First(), null, out allTestEngineerDetailsDbRecords);
|
||||
Assert.IsTrue(0 == hr, "Should return 0 for TestEngineerDetailsGet");
|
||||
Assert.IsTrue(null != allTestEngineerDetailsDbRecords, "TestEngineerDetailsGet should not have retrieved this record");
|
||||
Assert.IsFalse(allTestEngineerDetailsDbRecords.Any(r => r.Name == legitRecord.Name), "TestEngineerDetailsGet should not have retrieved any records");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user