# frozen_string_literal: true require 'rails_helper' RSpec.describe ProtocolImporters::TablesBuilder do # rubocop:disable Metrics/LineLength let(:description_string) { '
12345678910
abcdefghaa
1112345111
1111111111
asdasdasaasasdsadsaasdas124521
123
' } # rubocop:enable Metrics/LineLength let(:extract_tables_from_string_result) { described_class.extract_tables_from_html_string(description_string) } let(:first_table_in_result) { extract_tables_from_string_result.first } describe '.extract_tables_from_string' do it 'returns array of Table instances' do expect(first_table_in_result).to be_instance_of(Table) end it 'returns 2 tables ' do expect(extract_tables_from_string_result.count).to be == 2 end it 'returns valid table' do expect(first_table_in_result).to be_valid end it 'returns table with 5 rows' do expect(JSON.parse(first_table_in_result.contents)['data'].count).to be == 5 end it 'returns table with 10 columns' do expect(JSON.parse(first_table_in_result.contents)['data'].first.count).to be == 10 end end end