X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e95e66b8be5d92fe2890f9e33e682cc3c8c6cc73..20b2d6f7560e82add928fa14d868c9a4319d4907:/services/api/test/unit/arvados_model_test.rb diff --git a/services/api/test/unit/arvados_model_test.rb b/services/api/test/unit/arvados_model_test.rb index c0780ef8dc..09dece2660 100644 --- a/services/api/test/unit/arvados_model_test.rb +++ b/services/api/test/unit/arvados_model_test.rb @@ -131,12 +131,12 @@ class ArvadosModelTest < ActiveSupport::TestCase search_index_columns = table_class.searchable_columns('ilike') # Disappointing, but text columns aren't indexed yet. search_index_columns -= table_class.columns.select { |c| - c.type == :text + c.type == :text or c.name == 'description' }.collect(&:name) indexes = ActiveRecord::Base.connection.indexes(table) search_index_by_columns = indexes.select do |index| - index.columns == search_index_columns + index.columns.sort == search_index_columns.sort end search_index_by_name = indexes.select do |index| index.name == "#{table}_search_index" @@ -145,4 +145,26 @@ class ArvadosModelTest < ActiveSupport::TestCase end end end + + test "selectable_attributes includes database attributes" do + assert_includes(Job.selectable_attributes, "success") + end + + test "selectable_attributes includes non-database attributes" do + assert_includes(Job.selectable_attributes, "node_uuids") + end + + test "selectable_attributes includes common attributes in extensions" do + assert_includes(Job.selectable_attributes, "uuid") + end + + test "selectable_attributes does not include unexposed attributes" do + refute_includes(Job.selectable_attributes, "nodes") + end + + test "selectable_attributes on a non-default template" do + attr_a = Job.selectable_attributes(:common) + assert_includes(attr_a, "uuid") + refute_includes(attr_a, "success") + end end