Best Spinach_ruby code snippet using Spinach.parse_options
item_listing_parser_spec.rb
Source:item_listing_parser_spec.rb
1require 'rails_helper'2RSpec.describe PdfParser, type: :model do3 let(:item_listing) { FactoryBot.create(:item_listing, parse_options: {"split_regex" => '^(.*?)\\:$'}) }4 subject { PdfParser.new() }5 before do6 subject.instance_variable_set(:@item_listing, item_listing)7 end8 describe '#seperate_items_from_ingredients' do9 context 'scan_regex' do10 let(:item_listing) { FactoryBot.create(:item_listing, parse_options: {"scan_regex" => '^([A-Z].*?)\s\s+(?:[A-Z])'}) }11 let(:parser) { PdfParser.new() }12 let(:data) { "Apple Chunks/Apple Slices Apples, calcium ascorbate (to maintain freshness and colour).\nApple Pecan Salad Blend Iceberg lettuce, romaine lettuce, spring mix (baby lettuces [red & green romaine, red & green oak, red & green\n\n leaf, lolla rosa, tango], spinach, mizuna arugula, tatsoi, red chard, green chard), apple chunks (apples, calcium\n ascorbate), dried cranberries (cranberries, sugar, sunflower oil)." }13 it 'scan_regex' do14 parser.instance_variable_set(:@item_listing, item_listing)15 expected = ['Apple Chunks/Apple Slices',16 'Apples, calcium ascorbate (to maintain freshness and colour).',17 'Apple Pecan Salad Blend',18 'Iceberg lettuce, romaine lettuce, spring mix (baby lettuces [red & green romaine, red & green oak, red & green leaf, lolla rosa, tango], spinach, mizuna arugula, tatsoi, red chard, green chard), apple chunks (apples, calcium ascorbate), dried cranberries (cranberries, sugar, sunflower oil)']19 actual = parser.seperate_items_from_ingredients data20 expect(actual).to eq expected21 end22 end23 context 'split_regex' do24 let(:data) {"\nARTISAN ROLL:\nIngredients: Wheat Flour or Enriched Flour (Wheat Flour or Bleached Wheat Flour, Niacin, Iron, Thiamine Mononitrate, Riboflavin, Folic Acid), Malted Barley Flour,\n\nWater, Sugar, Yeast, Palm Oil, Wheat Gluten, Dextrose, Salt, Contains 2% or less: Natural Flavors (Plant Source), Corn Flour, Soybean Oil, Calcium Sulfate, Mono-\nand Diglycerides, Sodium Stearoyl Lactylate, Monocalcium Phosphate, Ascorbic Acid, Enzymes, Calcium Propionate (Preservative), Vegetable Proteins (Pea, Potato,\n\nRice), Sunflower Oil, Turmeric, Paprika, Corn Starch, Wheat Starch, Acetic Acid.\nCONTAINS: WHEAT." }...
cli.rb
Source:cli.rb
...35 # # => { reporter: { backtrace: true } }36 #37 # @api public38 def options39 @options ||= parse_options40 end41 # Uses given args to list the feature files to run. It will find a single42 # feature, features in a folder and subfolders or every feature file in the43 # feature path.44 #45 # @return [Array]46 # An array with the feature file names.47 #48 # @api public49 def feature_files50 files_to_run = []51 @args.each do |arg|52 if arg.match(/\.feature/)53 if File.exists? arg.gsub(/:\d*/, '')54 files_to_run << arg55 else56 fail! "#{arg} could not be found"57 end58 elsif File.directory?(arg)59 files_to_run << Dir.glob(File.join(arg, '**', '*.feature'))60 elsif arg != "{}"61 fail! "invalid argument - #{arg}"62 end63 end64 if !files_to_run.empty?65 files_to_run.flatten66 else67 Dir.glob(File.join(Spinach.config[:features_path], '**', '*.feature'))68 end69 end70 private71 # Parses the arguments into options.72 #73 # @return [Hash]74 # A hash of options separated by its type.75 #76 # @api private77 def parse_options78 config = {}79 begin80 OptionParser.new do |opts|81 opts.on('-c', '--config_path PATH',82 'Parse options from file (will get overriden by flags)') do |file|83 Spinach.config[:config_path] = file84 end85 opts.on('-b', '--backtrace',86 'Show backtrace of errors') do |show_backtrace|87 config[:reporter_options] = {backtrace: show_backtrace}88 end89 opts.on('-t', '--tags TAG',90 'Run all scenarios for given tags.') do |tag|91 config[:tags] ||= []...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!