wcc-contentful-middleman 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +0,0 @@
1
- {
2
- "sys": {
3
- "type": "Array"
4
- },
5
- "items": [],
6
- "nextSyncUrl": "https://cdn.contentful.com/spaces/343qxys30lid/sync?sync_token=FwqZm..."
7
- }
data/spec/spec_helper.rb DELETED
@@ -1,98 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'simplecov'
4
-
5
- SimpleCov.start do
6
- root File.expand_path('../..', __dir__)
7
- add_filter '/spec/'
8
- coverage_dir "#{File.expand_path('..', __dir__)}/coverage"
9
- end
10
-
11
- require 'bundler/setup'
12
- require 'dotenv/load'
13
- require 'webmock/rspec'
14
- require 'httplog'
15
-
16
- WebMock.disable_net_connect!(allow_localhost: true)
17
-
18
- # override env vars for testing
19
- ENV['CONTENTFUL_SPACE_ID'] = 'test1xab'
20
- ENV['CONTENTFUL_ACCESS_TOKEN'] = 'test1234'
21
- ENV['CONTENTFUL_MANAGEMENT_TOKEN'] = 'CFPAT-test1234'
22
- ENV['CONTENTFUL_PREVIEW_TOKEN'] = 'test123456'
23
-
24
- require 'wcc/contentful'
25
- require 'wcc/contentful/middleman'
26
-
27
- Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
28
-
29
- RSpec.shared_context 'Contentful config' do
30
- let(:contentful_access_token) { ENV['CONTENTFUL_ACCESS_TOKEN'] || 'test1234' }
31
- let(:contentful_management_token) { ENV['CONTENTFUL_MANAGEMENT_TOKEN'] || 'CFPAT-test1234' }
32
- let(:contentful_preview_token) { ENV['CONTENTFUL_PREVIEW_TOKEN'] || 'test123456' }
33
- let(:contentful_space_id) { ENV['CONTENTFUL_SPACE_ID'] || 'test1xab' }
34
-
35
- def contentful_reset!
36
- WCC::Contentful.instance_variable_set('@initialized', nil)
37
- WCC::Contentful::Services.instance_variable_set(:@singleton__instance__, nil)
38
-
39
- # clean out everything in the WCC::Contentful::Model generated namespace
40
- consts = WCC::Contentful::Model.constants(false).map(&:to_s).uniq
41
- consts.each do |c|
42
- begin
43
- WCC::Contentful::Model.send(:remove_const, c.split(':').last)
44
- rescue StandardError => e
45
- warn e
46
- end
47
- end
48
- WCC::Contentful::Model.instance_variable_get('@registry').clear
49
- Wisper.clear
50
- end
51
- end
52
-
53
- RSpec.configure do |config|
54
- # Enable flags like --only-failures and --next-failure
55
- config.example_status_persistence_file_path = '.rspec_status'
56
-
57
- # Disable RSpec exposing methods globally on `Module` and `main`
58
- config.disable_monkey_patching!
59
-
60
- config.expect_with :rspec do |c|
61
- c.syntax = :expect
62
- end
63
-
64
- # Time.zone ||= 'Central Time (US & Canada)'
65
-
66
- config.include FixturesHelper
67
- config.include_context 'Contentful config'
68
-
69
- config.before(:each) do
70
- WCC::Contentful.instance_variable_set('@configuration', nil)
71
- WCC::Contentful.instance_variable_set('@initialized', nil)
72
- WCC::Contentful::Services.instance_variable_set(:@singleton__instance__, nil)
73
-
74
- # clean out everything in the WCC::Contentful::Model generated namespace
75
- consts = WCC::Contentful::Model.constants(false).map(&:to_s).uniq
76
- consts.each do |c|
77
- begin
78
- WCC::Contentful::Model.send(:remove_const, c.split(':').last)
79
- rescue StandardError => e
80
- warn e
81
- end
82
- end
83
- WCC::Contentful::Model.instance_variable_get('@registry').clear
84
-
85
- # set up initialization mocks
86
- stub_request(:get, /https:\/\/cdn.contentful.com\/spaces\/.+\/sync/)
87
- .to_return(body: load_fixture('contentful/sync_empty.json'))
88
-
89
- WCC::Contentful.configure do |c|
90
- c.schema_file = File.join(fixture_root, 'contentful/contentful-schema.json')
91
- c.update_schema_file = :never
92
- end
93
- end
94
- end
95
-
96
- HttpLog.configure do |config|
97
- config.compact_log = true
98
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module FixturesHelper
4
- def load_fixture(file_name)
5
- file = File.join(fixture_root, file_name)
6
- return unless File.exist?(file)
7
-
8
- File.read(file)
9
- .gsub(/343qxys30lid/i, contentful_space_id)
10
- .gsub('<CONTENTFUL_SPACE_ID>', contentful_space_id)
11
- end
12
-
13
- def fixture_root
14
- "#{File.dirname(__FILE__)}/../fixtures"
15
- end
16
-
17
- def load_indexed_types(file_name = 'contentful/indexed_types_from_content_type_indexer.json')
18
- serialized = JSON.parse(load_fixture(file_name))
19
- WCC::Contentful::IndexedRepresentation.from_json(serialized)
20
- end
21
-
22
- def load_store_from_sync(file_name: 'contentful/sync_initial.json', store: nil)
23
- sync_initial = JSON.parse(load_fixture(file_name).gsub(/343qxys30lid/, contentful_space_id))
24
-
25
- store ||= WCC::Contentful::Store::MemoryStore.new
26
- sync_initial.each do |_k, v|
27
- store.index(v)
28
- end
29
- store
30
- end
31
- end
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
- require 'wcc/contentful/middleman/extension'
5
-
6
- RSpec.describe WCC::Contentful::Middleman::Extension do
7
- let(:app) {
8
- double('app', after_configuration: nil, ready: nil)
9
- }
10
-
11
- describe '#initialize' do
12
- before do
13
- stub_request(:get, /https:\/\/cdn.contentful.com\/spaces\/.+\/sync/)
14
- .to_return(body: load_fixture('contentful/sync.json'))
15
- end
16
-
17
- it 'sets contentful config variables' do
18
- described_class.new(app,
19
- space: 'testspace',
20
- access_token: 'testtoken1',
21
- preview_token: 'testpreview1',
22
- management_token: 'testmgmt1')
23
-
24
- expect(WCC::Contentful.configuration.space).to eq('testspace')
25
- expect(WCC::Contentful.configuration.access_token).to eq('testtoken1')
26
- expect(WCC::Contentful.configuration.preview_token).to eq('testpreview1')
27
- expect(WCC::Contentful.configuration.management_token).to eq('testmgmt1')
28
- end
29
-
30
- it 'infers from environment variables' do
31
- described_class.new(app)
32
-
33
- expect(WCC::Contentful.configuration.space).to eq('test1xab')
34
- expect(WCC::Contentful.configuration.access_token).to eq('test1234')
35
- expect(WCC::Contentful.configuration.preview_token).to eq('test123456')
36
- expect(WCC::Contentful.configuration.management_token).to eq('CFPAT-test1234')
37
- end
38
-
39
- it 'sets configuration defaults' do
40
- described_class.new(app)
41
-
42
- # middleman uses memory store by default to sync all content over
43
- store = WCC::Contentful::Services.instance.store.store
44
- expect(store).to be_a WCC::Contentful::Store::MemoryStore
45
- end
46
-
47
- it 'passes block' do
48
- described_class.new(app) do |config|
49
- config.environment = 'test123'
50
- end
51
-
52
- expect(WCC::Contentful.configuration.environment).to eq('test123')
53
- end
54
-
55
- it 'initializes WCC::Contentful' do
56
- expect(WCC::Contentful).to receive(:init!)
57
-
58
- described_class.new(app)
59
- end
60
-
61
- it 'syncs over new content' do
62
- described_class.new(app)
63
-
64
- store = WCC::Contentful::Services.instance.store
65
- homepage = store.find('4ssPJYNGPYQMMwo2gKmISo')
66
- expect(homepage).to be_present
67
- end
68
- end
69
- end