diff options
Diffstat (limited to 'spec/components/projects/ml/models_index_component_spec.rb')
-rw-r--r-- | spec/components/projects/ml/models_index_component_spec.rb | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/spec/components/projects/ml/models_index_component_spec.rb b/spec/components/projects/ml/models_index_component_spec.rb index e4599cc5eec..c42c94d5d01 100644 --- a/spec/components/projects/ml/models_index_component_spec.rb +++ b/spec/components/projects/ml/models_index_component_spec.rb @@ -8,14 +8,30 @@ RSpec.describe Projects::Ml::ModelsIndexComponent, type: :component, feature_cat let_it_be(:model2) { build_stubbed(:ml_models, project: project) } let_it_be(:models) { [model1, model2] } + let(:paginator) do + Class.new do + def initialize(models:) + @models = models + end + + def records = @models + def has_next_page? = true + def has_previous_page? = false + def cursor_for_previous_page = 'abcde' + def cursor_for_next_page = 'defgh' + end.new(models: models) + end + subject(:component) do - described_class.new(models: models) + described_class.new(paginator: paginator) end describe 'rendered' do let(:element) { page.find("#js-index-ml-models") } before do + allow(model1).to receive(:version_count).and_return(1) + allow(model2).to receive(:version_count).and_return(0) render_inline component end @@ -27,14 +43,22 @@ RSpec.describe Projects::Ml::ModelsIndexComponent, type: :component, feature_cat { 'name' => model1.name, 'version' => model1.latest_version.version, - 'path' => "/#{project.full_path}/-/packages/#{model1.latest_version.package_id}" + 'path' => "/#{project.full_path}/-/packages/#{model1.latest_version.package_id}", + 'versionCount' => 1 }, { 'name' => model2.name, 'version' => nil, - 'path' => nil + 'path' => nil, + 'versionCount' => 0 } - ] + ], + 'pageInfo' => { + 'hasNextPage' => true, + 'hasPreviousPage' => false, + 'startCursor' => 'abcde', + 'endCursor' => 'defgh' + } }) end end |