Skip to content

Instantly share code, notes, and snippets.

@fetchak
Created January 27, 2015 04:49
Show Gist options
  • Save fetchak/864d10ecfcc977ea61ff to your computer and use it in GitHub Desktop.
Save fetchak/864d10ecfcc977ea61ff to your computer and use it in GitHub Desktop.
require 'spec_helper'
shared_examples "extended_definition" do |sense|
it "must contain original definition" do
expect(sense.extended_definition).to include(sense.definition)
end
it "must contain both sample texts" do
expect(
sense.samples.pluck(:sample).collect { |t| sense.extended_definition.include? t }.inject(:&)
).to be_truthy
end
end
describe WordSense do
context "dictionary word 'test'" do
sense = Word.find_by_name('test').senses.first
include_examples 'extended_definition', sense
end
context "mocked word 'fnord'" do
sense = instance_double('WordSense', :definition => 'original definition')
sense.samples << instance_double('WordSampleDefinition', :sample => 'first sample definition')
sense.samples << instance_double('WordSampleDefinition', :sample => 'second sample definition')
include_examples 'extended_definition', sense
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment