How to use init_options method of Mock Package

Best Active_mocker_ruby code snippet using Mock.init_options

push_spec.rb

Source:push_spec.rb Github

copy

Full Screen

...18 name: 'bar',19 url: '/bar'20 }]21 end22 describe 'init_options' do23 it 'sets options and config' do24 # Given25 args = nil26 options = { 'foo' => 'bar' }27 config = { 'bar' => 'foo' }28 # When29 push.init_options(args, options, config)30 # Then31 expect(push.options).to include(options)32 expect(push.config).to include(config)33 end34 end35 describe 'indexable?' do36 it 'exclude StaticFiles' do37 expect(push.indexable?(static_file)).to eq false38 end39 it 'keeps markdown files' do40 expect(push.indexable?(page_file)).to eq true41 end42 it 'keeps html files' do43 expect(push.indexable?(html_page_file)).to eq true44 end45 it 'keeps markdown documents' do46 expect(push.indexable?(document_file)).to eq true47 end48 it 'keeps html documents' do49 expect(push.indexable?(html_document_file)).to eq true50 end51 it 'exclude file specified in config' do52 expect(push.indexable?(excluded_page_file)).to eq false53 end54 it 'does not index pagination pages' do55 expect(push.indexable?(pagination_page)).to eq false56 end57 end58 describe 'excluded_files?' do59 before(:each) do60 push.init_options(nil, {}, site.config)61 end62 it 'should not exclude normal pages' do63 expect(push.excluded_file?(html_page_file)).to eq false64 end65 it 'should alway exclude pagination pages' do66 expect(push.excluded_file?(pagination_page)).to eq true67 end68 it 'should exclude user specified strings' do69 expect(push.excluded_file?(excluded_page_file)).to eq true70 end71 end72 describe 'custom_hook_excluded_file?' do73 it 'let the user call a custom hook to exclude some files' do74 # Given75 def push.custom_hook_excluded_file?(_file)76 true77 end78 # Then79 expect(push.excluded_file?(html_page_file)).to eq true80 end81 end82 describe 'configure_index' do83 it 'sets some sane defaults' do84 # Given85 push.init_options(nil, {}, {})86 index = double87 # Then88 expected = {89 attributeForDistinct: 'url',90 distinct: true,91 customRanking: [92 'desc(posted_at)',93 'desc(weight.tag_name)',94 'asc(weight.position)'95 ]96 }97 expect(index).to receive(:set_settings).with(hash_including(expected))98 # When99 push.configure_index(index)100 end101 it 'allow user to override all settings' do102 # Given103 settings = {104 distinct: false,105 customSetting: 'foo',106 customRanking: ['asc(foo)', 'desc(bar)']107 }108 config = {109 'algolia' => {110 'settings' => settings111 }112 }113 push.init_options(nil, {}, config)114 index = double115 # Then116 expect(index).to receive(:set_settings).with(hash_including(settings))117 # When118 push.configure_index(index)119 end120 describe 'throw an error' do121 before(:each) do122 @index_double = double('Algolia Index').as_null_object123 @error_handler_double = double('Error Handler double').as_null_object124 push.init_options(nil, {}, {})125 allow(@index_double).to receive(:set_settings).and_raise126 allow(Jekyll.logger).to receive(:error)127 end128 it 'stops if API throw an error' do129 # Given130 # When131 # Then132 expect(-> { push.configure_index(@index_double) })133 .to raise_error SystemExit134 end135 it 'displays the error directly if unknown' do136 # Given137 allow(@error_handler_double)138 .to receive(:readable_algolia_error).and_return false139 allow(@error_handler_double)140 .to receive(:display)141 allow(AlgoliaSearchErrorHandler)142 .to receive(:new).and_return(@error_handler_double)143 # When144 # Then145 expect(-> { push.configure_index(@index_double) })146 .to raise_error SystemExit147 expect(@error_handler_double)148 .to have_received(:display).exactly(0).times149 expect(Jekyll.logger)150 .to have_received(:error).with('Algolia Error: HTTP Error')151 end152 it 'display a human readable version of the error if one is found' do153 # Given154 allow(@error_handler_double)155 .to receive(:readable_algolia_error).and_return 'known_errors'156 allow(@error_handler_double)157 .to receive(:display)158 allow(AlgoliaSearchErrorHandler)159 .to receive(:new).and_return(@error_handler_double)160 # When161 # Then162 expect(-> { push.configure_index(@index_double) })163 .to raise_error SystemExit164 expect(@error_handler_double)165 .to have_received(:display)166 .exactly(1).times167 .with('known_errors')168 end169 end170 end171 describe 'jekyll_new' do172 it 'should return a patched version of site with a custom write' do173 # Given174 normal_site = Jekyll::Site.new(Jekyll.configuration)175 normal_method = normal_site.method(:write).source_location176 patched_site = get_site({}, mock_write_method: false, process: false)177 patched_method = patched_site.method(:write).source_location178 # When179 # Then180 expect(patched_method).not_to eq normal_method181 end182 end183 describe 'process' do184 it 'should call the site write method' do185 # Given186 site = get_site({}, process: false)187 # When188 site.process189 # Then190 expect(site).to have_received(:write)191 end192 it 'should push items to Algolia' do193 # Given194 site = get_site({}, mock_write_method: false, process: false)195 # Keep only page_file196 allow(AlgoliaSearchJekyllPush).to receive(:indexable?) do |file|197 file.path == page_file.path198 end199 allow(AlgoliaSearchJekyllPush).to receive(:push)200 # When201 site.process202 # Then203 expect(AlgoliaSearchJekyllPush).to have_received(:push) do |arg|204 expect(arg.size).to eq 6205 end206 end207 end208 describe 'set_user_agent_header' do209 before(:each) do210 allow(Algolia).to receive(:set_extra_header)211 end212 it 'should set a User-Agent with the plugin name and version' do213 # Given214 allow(AlgoliaSearchJekyllVersion).to receive(:to_s).and_return '99.42'215 # When216 push.set_user_agent_header217 # Then218 expect(Algolia).to have_received(:set_extra_header).with(219 'User-Agent',220 /Jekyll(.*)99.42/221 )222 end223 end224 describe 'push' do225 let(:index_double) { double('Algolia Index').as_null_object }226 let(:config) do227 {228 'algolia' => {229 'index_name' => 'INDEXNAME'230 }231 }232 end233 before(:each) do234 push.init_options(nil, {}, config)235 # Mock all calls to not send anything236 allow_any_instance_of(AlgoliaSearchCredentialChecker)237 .to receive(:assert_valid)238 allow(Algolia).to receive(:set_extra_header)239 allow(Algolia).to receive(:init)240 allow(Algolia).to receive(:move_index)241 allow(Algolia::Index).to receive(:new).and_return(index_double)242 allow(Jekyll.logger).to receive(:info)243 end244 it 'should create a temporary index' do245 # Given246 # When247 push.push(items)248 # Then...

Full Screen

Full Screen

has_many.rb

Source:has_many.rb Github

copy

Full Screen

...22 end23 # @api private24 attr_reader :relation_class, :foreign_key, :foreign_id, :source25 def build(options = {}, &block)26 new_record = relation_class.new(init_options.merge!(options), &block)27 # @private28 def new_record._belongs_to(collection)29 @belongs_to_collection = collection30 end31 new_record._belongs_to(self)32 # @private33 def new_record.save34 @belongs_to_collection << self35 super36 end37 new_record38 end39 def create(options = {}, &block)40 created_record = relation_class.create(init_options.merge!(options), &block)41 collection << created_record42 created_record43 end44 alias create! create45 # @api private46 def init_options47 { foreign_key => foreign_id }48 end49 end50 module Mock51 # @deprecated52 HasMany = ActiveMocker::HasMany53 end54end...

Full Screen

Full Screen

google_provider_spec.rb

Source:google_provider_spec.rb Github

copy

Full Screen

1# encoding: UTF-82require 'spec_helper'3describe TranslatorProxy::GoogleProvider do4 let(:provider) { TranslatorProxy::GoogleProvider.new(init_options) }5 let(:init_options) { { project: 'test-project', keyfile: 'test-keyfile.json' } }6 let(:options) { { from: 'ja', to: 'en', model: 'nmt' } }7 let(:mock_client) do8 client = double('client')9 allow(client).to receive(:translate).and_return(dummy_translation)10 client11 end12 before { allow(provider).to receive(:client).and_return(mock_client) }13 describe '#translate' do14 let(:text) { 'こんにちは' }15 let(:dummy_translation) { double('translation', text: 'Hello') }16 it 'should return translated text' do17 translated_text = provider.translate(text, options)18 expect(translated_text).to eq 'Hello'19 end...

Full Screen

Full Screen

init_options

Using AI Code Generation

copy

Full Screen

1mock.init_options(:foo => "bar")2mock.init_options(:foo => "bar")3mock.init_options(:foo => "bar")4mock.init_options(:foo => "bar")5mock.init_options(:foo => "bar")6mock.init_options(:foo => "bar")7mock.init_options(:foo => "bar")8mock.init_options(:foo => "bar")9mock.init_options(:foo => "bar")10mock.init_options(:foo => "bar")11mock.init_options(:foo => "bar")12mock.init_options(:foo => "bar")13mock.init_options(:foo => "bar")14mock.init_options(:foo => "bar")15mock.init_options(:foo => "bar")16mock.init_options(:foo => "bar")

Full Screen

Full Screen

init_options

Using AI Code Generation

copy

Full Screen

1mock.init_options(name: "John", age: 25)2mock.init_options(name: "John", age: 25)3mock.init_options(name: "John", age: 25)4mock.init_options(name: "John", age: 25)5mock.init_options(name: "John", age: 25)6mock.init_options(name: "John", age: 25)7mock.init_options(name: "John", age: 25)8mock.init_options(name: "John", age: 25)

Full Screen

Full Screen

init_options

Using AI Code Generation

copy

Full Screen

1 def init_options(name)2m.init_options("foo")3 def init_options(name, age)4m.init_options("foo", 20)5 def init_options(name, age, *args)6m.init_options("foo", 20, "bar")

Full Screen

Full Screen

init_options

Using AI Code Generation

copy

Full Screen

1mock.init_options(:foo => "bar")2mock.init_options(:foo => "bar")3mock.init_options(:foo => "bar")4mock.init_options(:foo => "bar")5mock.init_options(:foo => "bar")6mock.init_options(:foo => "bar")7mock.init_options(:foo => "bar")8mock.init_options(:foo => "bar")9mock.init_options(:foo => "bar")10mock.init_options(:foo => "bar")11mock.init_options(:foo => "bar")12mock.init_options(:foo => "bar")13mock.init_options(:foo => "bar")14mock.init_options(:foo => "bar")15mock.init_options(:foo => "bar")16mock.init_options(:foo => "bar")

Full Screen

Full Screen

init_options

Using AI Code Generation

copy

Full Screen

1 def init_options(name)2m.init_options("foo")3 def init_options(name, age)4m.init_options("foo", 20)5 def init_options(name, age, *args)6m.init_options("foo", 20, "bar")

Full Screen

Full Screen

init_options

Using AI Code Generation

copy

Full Screen

1mock.init_options(:foo => "bar")2mock.init_options(:foo => "bar")3mock.init_options(:foo => "bar")4mock.init_options(:foo => "bar")5mock.init_options(:foo => "bar")6mock.init_options(:foo => "bar")7mock.init_options(:foo => "bar")8mock.init_options(:foo => "bar")9mock.init_options(:foo => "bar")10mock.init_options(:foo => "bar")11mock.init_options(:foo => "bar")12mock.init_options(:foo => "bar")13mock.init_options(:foo => "bar")14mock.init_options(:foo => "bar")15mock.init_options(:foo => "bar")16mock.init_options(:foo => "bar")

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Active_mocker_ruby automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful