Example #1
0
        public async Task Should_use_database_name_in_views()
        {
            _tenant = "1";
            var database = ArrangeDbContext.Database.GetDbConnection().Database;

            TenantDatabaseProviderMock.Setup(p => p.GetDatabaseName(Schema, "TestView"))
            .Returns(database);

            await ActDbContext.TestView.ToListAsync();

            SqlStatements.Last().Should().Contain($"FROM [{database}].[{Schema}].[TestView]");
        }
Example #2
0
        public async Task Should_behave_the_same_if_database_name_is_specified_explicitly()
        {
            _tenant = "1";
            var database = ArrangeDbContext.Database.GetDbConnection().Database;

            TenantDatabaseProviderMock.Setup(p => p.GetDatabaseName(Schema, "TestEntities"))
            .Returns(database);

            await ActDbContext.TestEntities.ToListAsync();

            SqlStatements.Last().Should().Contain($"FROM [{database}].[{Schema}].[TestEntities]");
        }
Example #3
0
        public async Task Should_use_database_name_in_joins()
        {
            _tenant = "1";
            var database = ArrangeDbContext.Database.GetDbConnection().Database;

            TenantDatabaseProviderMock.Setup(p => p.GetDatabaseName(Schema, "TestEntities"))
            .Returns(database);

            await ActDbContext.TestEntities
            .Join(ActDbContext.TestEntities, t => t.ParentId, t => t.Id, (t1, t2) => new { t1, t2 })
            .ToListAsync();

            SqlStatements.Last().Should().Contain($"FROM [{database}].[{Schema}].[TestEntities]")
            .And.Contain($"INNER JOIN [{database}].[{Schema}].[TestEntities]");
        }
Example #4
0
        public async Task Should_use_database_name_in_includes()
        {
            _tenant = "1";
            var database = ArrangeDbContext.Database.GetDbConnection().Database;

            TenantDatabaseProviderMock.Setup(p => p.GetDatabaseName(Schema, "TestEntities"))
            .Returns(database);

            await ActDbContext.TestEntities
            .Include(t => t.Parent)
            .Include(t => t.Children)
            .ToListAsync();

            SqlStatements.Last().Should().Contain($"FROM [{database}].[{Schema}].[TestEntities]")
            .And.Contain($"LEFT JOIN [{database}].[{Schema}].[TestEntities] AS [t0]")
            .And.Contain($"LEFT JOIN [{database}].[{Schema}].[TestEntities] AS [t1]");
        }
Example #5
0
 public TenantDatabaseTests(ITestOutputHelper testOutputHelper)
     : base(testOutputHelper, true)
 {
     IsTenantDatabaseSupportEnabled = true;
     TenantDatabaseProviderMock.Setup(p => p.Tenant).Returns(() => _tenant);
 }