spec/models/year_facet_spec.rb in ddr-models-3.0.0.rc1 vs spec/models/year_facet_spec.rb in ddr-models-3.0.0.rc2
- old
+ new
@@ -1,65 +1,92 @@
module Ddr::Models
RSpec.describe YearFacet do
- subject { described_class.new(obj) }
+ subject { described_class.call(obj) }
let(:obj) { Item.new }
before { obj.dc_date = [ date ] }
describe "splitting on semicolons" do
let(:date) { "1935; 1936; 1937; 1938" }
- its(:values) { is_expected.to eq([1935, 1936, 1937, 1938]) }
+ it { is_expected.to eq([1935, 1936, 1937, 1938]) }
end
describe "year range" do
- %w( 1935-1940 1935/1940 ).each do |value|
+ %w( 1935-1940 1935/1940 1935?/1940? 1935~/1940~ ).each do |value|
describe value do
let(:date) { value }
- its(:values) { is_expected.to eq((1935..1940).to_a) }
+ it { is_expected.to eq((1935..1940).to_a) }
end
end
end
- describe "in decade" do
- %w( 192x 192X 192? 192- 192-? ).each do |value|
+ describe "decade" do
+ %w( 192u 192x 192X 192? 192- 192-? 1920s 1920s? ).each do |value|
describe value do
let(:date) { value }
- its(:values) { is_expected.to eq((1920..1929).to_a) }
+ it { is_expected.to eq((1920..1929).to_a) }
end
end
end
- describe "in century -- YYxx (19xx)" do
- let(:date) { "19xx" }
- its(:values) { is_expected.to eq((1900..1999).to_a) }
+ describe "century" do
+ %w( 19xx 19uu ).each do |value|
+ describe value do
+ let(:date) { value }
+ it { is_expected.to eq((1900..1999).to_a) }
+ end
+ end
end
- describe "decade" do
- %w( 1920s 1920s? ).each do |value|
+ describe "uncertain interval" do
+ let(:date) { "199u/200u" }
+ it { is_expected.to eq((1990..2009).to_a) }
+ end
+
+ describe "set" do
+ let(:date) { "[1999,2000,2003]" }
+ it { is_expected.to eq([1999, 2000, 2003]) }
+ end
+
+ describe "year" do
+ %w( 2010 2010? 2010~ ).each do |value|
describe value do
let(:date) { value }
- its(:values) { is_expected.to eq((1920..1929).to_a) }
+ it { is_expected.to eq([2010]) }
end
end
end
- describe "year + month" do
- %w( 2010-01 2010/01 ).each do |value|
+ describe "month" do
+ %w( 2010-01 2010/01 2010-12? 2010-11/2010-12 ).each do |value|
describe value do
let(:date) { value }
- its(:values) { is_expected.to eq([2010]) }
+ it { is_expected.to eq([2010]) }
end
end
end
- describe "between" do
- let(:date) { "Between 1965 and 1968" }
- its(:values) { is_expected.to eq((1965..1968).to_a) }
+ describe "day" do
+ %w( 2010-12-10 2010-12-10? 2010-12-10/2010-12-20 ).each do |value|
+ describe value do
+ let(:date) { value }
+ it { is_expected.to eq([2010]) }
+ end
+ end
end
- describe "year" do
- let(:date) { "1965" }
- its(:values) { is_expected.to eq([1965]) }
+ describe "season" do
+ %w( 2010-21 2010-22 2010-23 2010-24 ).each do |value|
+ describe value do
+ let(:date) { value }
+ it { is_expected.to eq([2010]) }
+ end
+ end
+ end
+
+ describe "between" do
+ let(:date) { "Between 1965 and 1968" }
+ it { is_expected.to eq((1965..1968).to_a) }
end
end
end