public void EnableAll_enables_everything() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); Assert.True(options.ShowExceptionDetails); Assert.True(options.ListMigrations); Assert.True(options.EnableMigrationCommands); Assert.Equal(MigrationsEndPointOptions.DefaultPath, options.MigrationsEndPointPath); }
public void MigrationsEndPointPath_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.MigrationsEndPointPath = "/test"; Assert.True(options.ShowExceptionDetails); Assert.True(options.ListMigrations); Assert.True(options.EnableMigrationCommands); Assert.Equal("/test", options.MigrationsEndPointPath); }
public void EnableMigrationCommands_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.EnableMigrationCommands = false; Assert.True(options.ShowExceptionDetails); Assert.True(options.ListMigrations); Assert.False(options.EnableMigrationCommands); Assert.Equal(MigrationsEndPointOptions.DefaultPath, options.MigrationsEndPointPath); }
public void EnableAll_enables_everything() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); Assert.True(options.ShowExceptionDetails); Assert.True(options.ListMigrations); Assert.True(options.EnableMigrationCommands); Assert.Equal(MigrationsEndPointOptions.DefaultPath, options.MigrationsEndPointPath); }
public void MigrationsEndPointPath_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.MigrationsEndPointPath = "/test"; Assert.True(options.ShowExceptionDetails); Assert.True(options.ListMigrations); Assert.True(options.EnableMigrationCommands); Assert.Equal("/test", options.MigrationsEndPointPath); }
public void EnableMigrationCommands_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.EnableMigrationCommands = false; Assert.True(options.ShowExceptionDetails); Assert.True(options.ListMigrations); Assert.False(options.EnableMigrationCommands); Assert.Equal(MigrationsEndPointOptions.DefaultPath, options.MigrationsEndPointPath); }
public async Task Exception_details_are_displayed() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception("Something bad happened"), databaseExists: false, pendingModelChanges: false, pendingMigrations: new string[] { }, options: options); var content = await ExecutePage(options, model); Assert.Contains("Something bad happened", content); }
public async Task MigrationsEndPointPath_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.MigrationsEndPointPath = "/HitThisEndPoint"; var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: true, pendingModelChanges: false, pendingMigrations: new string[] { "111_MigrationOne" }, options: options); var content = await ExecutePage(options, model); Assert.Contains(options.MigrationsEndPointPath.Value, content); }
public async Task ListMigrations_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.ListMigrations = false; var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: true, pendingModelChanges: false, pendingMigrations: new string[] { "111_MigrationOne" }, options: options); var content = await ExecutePage(options, model); Assert.DoesNotContain("111_MigrationOne", content); }
public async Task Existing_database_with_migrations_only_displays_apply_migrations() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: true, pendingModelChanges: false, pendingMigrations: new string[] { "111_MigrationOne" }, options: options); var content = await ExecutePage(options, model); AssertHelpers.NotDisplaysScaffoldFirstMigration(typeof(BloggingContext), content); AssertHelpers.DisplaysApplyMigrations(typeof(BloggingContext), content); AssertHelpers.NotDisplaysScaffoldNextMigraion(typeof(BloggingContext), content); }
public async Task Existing_database_with_migrations_and_pending_model_changes_only_displays_apply_migrations() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: true, pendingModelChanges: true, pendingMigrations: new string[] { "111_MigrationOne" }, options: options); var content = await ExecutePage(options, model); AssertHelpers.NotDisplaysScaffoldFirstMigration(typeof(BloggingContext), content); AssertHelpers.DisplaysApplyMigrations(typeof(BloggingContext), content); AssertHelpers.NotDisplaysScaffoldNextMigraion(typeof(BloggingContext), content); }
public async Task No_database_or_migrations_only_displays_scaffold_first_migration() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: false, pendingModelChanges: false, pendingMigrations: new string[] { }, options: options); var content = await ExecutePage(options, model); AssertHelpers.DisplaysScaffoldFirstMigration(typeof(BloggingContext), content); AssertHelpers.NotDisplaysApplyMigrations(typeof(BloggingContext), content); AssertHelpers.NotDisplaysScaffoldNextMigraion(typeof(BloggingContext), content); }
public async Task MigrationsEndPointPath_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.MigrationsEndPointPath = "/HitThisEndPoint"; var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: true, pendingModelChanges: false, pendingMigrations: new string[] { "111_MigrationOne" }, options: options); var content = await ExecutePage(options, model); Assert.Contains(options.MigrationsEndPointPath.Value, content); }
public async Task ListMigrations_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.ListMigrations = false; var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception(), databaseExists: true, pendingModelChanges: false, pendingMigrations: new string[] { "111_MigrationOne" }, options: options); var content = await ExecutePage(options, model); Assert.DoesNotContain("111_MigrationOne", content); }
public async Task ShowExceptionDetails_is_respected() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); options.ShowExceptionDetails = false; var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception("Something bad happened"), databaseExists: false, pendingModelChanges: false, pendingMigrations: new string[] { }, options: options); var content = await ExecutePage(options, model); Assert.DoesNotContain("Something bad happened", content); }
public async Task Inner_exception_details_are_displayed() { var options = new DatabaseErrorPageOptions(); options.EnableAll(); var model = new DatabaseErrorPageModel( contextType: typeof(BloggingContext), exception: new Exception("Something bad happened", new Exception("Because something more badder happened")), databaseExists: false, pendingModelChanges: false, pendingMigrations: new string[] { }, options: options); var content = await ExecutePage(options, model); Assert.Contains("Something bad happened", content); Assert.Contains("Because something more badder happened", content); }