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]"); }
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]"); }
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]"); }
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]"); }
public TenantDatabaseTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper, true) { IsTenantDatabaseSupportEnabled = true; TenantDatabaseProviderMock.Setup(p => p.Tenant).Returns(() => _tenant); }