示例#1
0
        public void SqlServer_CommitTransaction_HasSideEffect()
        {
            IDatabaseConnection connection = GetConnection();
            InitializeDatabase(connection);

            var repo = new SqlServerIntegrationRepository(GetConnection());
            using (var transaction = repo.WithTransaction()) {
                repo.SprocWithSideEffect();
                transaction.Commit();
            }

            Assert.AreEqual(1, repo.GetCountOfSideEffects());
        }
示例#2
0
        public void SqlServer_RollbackTransaction_DoesntHaveSideEffect()
        {
            IDatabaseConnection connection = GetConnection();

            InitializeDatabase(connection);

            var repo = new SqlServerIntegrationRepository(GetConnection());

            using (var transaction = repo.WithTransaction()) {
                repo.SprocWithSideEffect();
                transaction.Rollback();
            }

            Assert.AreEqual(0, repo.GetCountOfSideEffects());
        }
示例#3
0
        public void SqlServer_CommitTransaction_HasSideEffect()
        {
            IDatabaseConnection connection = GetConnection();

            InitializeDatabase(connection);

            var repo = new SqlServerIntegrationRepository(GetConnection());

            using (var transaction = repo.WithTransaction()) {
                repo.SprocWithSideEffect();
                transaction.Commit();
            }

            Assert.AreEqual(1, repo.GetCountOfSideEffects());
        }
示例#4
0
        public void SqlServer_RollbackTransaction_DoesntHaveSideEffect()
        {
            IDatabaseConnection connection = GetConnection();
            InitializeDatabase(connection);

            var repo = new SqlServerIntegrationRepository(GetConnection());
            using (var transaction = repo.WithTransaction()) {
                repo.SprocWithSideEffect();
                transaction.Rollback();
            }

            Assert.AreEqual(0, repo.GetCountOfSideEffects());
        }