public void GetItemsViaStoredProcedureWithParameterNotParameterisedTest() { //Given var databseFactory = new EfCoreDatabaseFactoryBase <SharedLibraryContext>("SharedLibraryContext"); using (var efCoreUnitOfWork = new EfCoreUnitOfWork <SharedLibraryContext>(databseFactory)) { var repository = new EfCoreAccountRepository(databseFactory); var reference = "TestReference"; var listOfItems = GetItemsWithTwoItemsContainingTestReference(reference); repository.AddRange(listOfItems); efCoreUnitOfWork.Commit(); //When var filter = new SqlParameter("@CompanyName", SqlDbType.VarChar) { Value = $"%{reference}%" }; var items = repository.ExecuteQuery <Account>("exec GetAccounts @CompanyName", filter).ToList(); //Then EqualityHelper.AssertListsAreEqual(items.OrderBy(x => x.CompanyName).ToList(), listOfItems.OrderBy(x => x.CompanyName).Take(2).ToList(), new[] { "AccountID", "LastModified", "LastModifiedBy", "Contacts" }); } }
public void GetItemsViaStoredProcedureWithNoParameterButNoAccountsExistNotParameterisedTest() { //Given var databseFactory = new EfCoreDatabaseFactoryBase <SharedLibraryContext>("SharedLibraryContext"); //When var repository = new EfCoreAccountRepository(databseFactory); var items = repository.ExecuteQuery <Account>("exec GetAccounts").ToList(); //Then Assert.AreEqual(0, items.Count, "Some items were returned where none should have been"); }
public void ExecuteStoredProcedureWithIncorrectQueryTest() { //Given var databseFactory = new EfCoreDatabaseFactoryBase <SharedLibraryContext>("SharedLibraryContext"); //When var repository = new EfCoreAccountRepository(databseFactory); // ReSharper disable once ReturnValueOfPureMethodIsNotUsed TestDelegate testDelegate = () => repository.ExecuteQuery("exec GetAccountsFake").ToList(); //Then Assert.Throws <SqlException>(testDelegate, "The expected exception was not thrown."); }
public void GetItemsViaStoredProcedureWithNoParameterNotParameterisedTest() { //Given var databseFactory = new EfCoreDatabaseFactoryBase <SharedLibraryContext>("SharedLibraryContext"); using (var efCoreUnitOfWork = new EfCoreUnitOfWork <SharedLibraryContext>(databseFactory)) { var repository = new EfCoreAccountRepository(databseFactory); var listOfItems = AccountEntityHelper.CreateEfCoreTestAccounts(3); repository.AddRange(listOfItems); efCoreUnitOfWork.Commit(); //When var items = repository.ExecuteQuery <Account>("exec GetAccounts").ToList(); //Then EqualityHelper.AssertListsAreEqual(items.OrderBy(x => x.CompanyName).ToList(), listOfItems.OrderBy(x => x.CompanyName).ToList(), new[] { "AccountID", "LastModified", "LastModifiedBy", "Contacts" }); } }