2015-08-22 15:25:16 -04:00
|
|
|
require 'spec_helper'
|
|
|
|
|
2016-01-20 10:20:04 -05:00
|
|
|
describe "license meta" do
|
|
|
|
licenses.each do |license|
|
2015-08-22 15:25:16 -04:00
|
|
|
|
2016-01-20 10:20:04 -05:00
|
|
|
# Manually load the raw license so we don't get thed defaults
|
|
|
|
raw_fields = SafeYAML.load_file("_licenses/#{license["id"]}.txt")
|
2015-08-22 15:25:16 -04:00
|
|
|
|
2016-01-20 10:20:04 -05:00
|
|
|
context "The #{license["title"]} license" do
|
|
|
|
it "should only contain supported meta fields" do
|
|
|
|
extra_fields = raw_fields.keys - meta.map { |m| m["name"] }
|
|
|
|
expect(extra_fields).to be_empty
|
|
|
|
end
|
2015-08-22 15:25:16 -04:00
|
|
|
|
2016-01-20 10:20:04 -05:00
|
|
|
it "should contain all required meta fields" do
|
|
|
|
required = meta.select { |m| m["required"] }.map { |m| m["name"] }
|
|
|
|
missing = required - raw_fields.keys
|
2015-08-22 15:25:16 -04:00
|
|
|
expect(missing).to be_empty
|
|
|
|
end
|
2016-01-20 10:20:04 -05:00
|
|
|
|
|
|
|
if license["family"]
|
|
|
|
it "should contain the required license variant fields" do
|
|
|
|
missing = ["family", "tab-slug"] - license.keys
|
|
|
|
expect(missing).to be_empty
|
|
|
|
end
|
|
|
|
else
|
|
|
|
it "should not contain license family specific fields" do
|
|
|
|
extra = ["variant", "family", "tab-slug"].select{ |f| raw_fields.keys.include?(f) }
|
|
|
|
expect(extra).to be_empty
|
|
|
|
end
|
2015-08-22 15:25:16 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|