pageflow-support 15.0.2 → 15.1.0.beta1
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.
- checksums.yaml +4 -4
- data/pageflow/dom/editor/entry_outline.rb +13 -0
- data/pageflow/dom/editor/file_import_chooser.rb +25 -0
- data/pageflow/dom/editor/file_import_dialog.rb +25 -0
- data/pageflow/dom/editor/public_dominos.rb +7 -0
- data/pageflow/dom/editor/sidebar.rb +29 -0
- data/pageflow/dom/editor.rb +12 -0
- data/pageflow/dom.rb +1 -0
- data/pageflow/lint/file_import.rb +74 -0
- data/pageflow/lint.rb +14 -0
- metadata +14 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b94611bd3278be41548b0eab58d691a11ac90368a2e86af2a780d6d15711502
|
4
|
+
data.tar.gz: 7e208340f49c6e4b9eda72b8c4d1bed849ca36df0b7e8a67458449d054afb52a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 800bc37e0b3c583b8eb039e0a71671cc02e73b5697d9354ae2d6a650f8ca316fdc2e3725580a676d7692a43b06cdca3b9ea56e59c37ba8e7fe6b8e2ca9419f6b
|
7
|
+
data.tar.gz: ab1d4a6d250e25e803a406bc0477972a8c371bc47cba56bc3743bf8a6061a5172fab53517408a9cf019800ea79962b1b0550eb18188d535194a8383baa05570d
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Dom
|
3
|
+
module Editor
|
4
|
+
class FileImportChooser < Domino
|
5
|
+
selector '.dialog_container > .choose_importer'
|
6
|
+
|
7
|
+
def cancel_button
|
8
|
+
node.find('button.close')
|
9
|
+
end
|
10
|
+
|
11
|
+
def importers_list
|
12
|
+
node.find('ul.importers_panel')
|
13
|
+
end
|
14
|
+
|
15
|
+
def select_importer(importer_key)
|
16
|
+
importers_list.find("li > .importer[data-key='#{importer_key}']").click
|
17
|
+
end
|
18
|
+
|
19
|
+
def has_importer?(importer_key)
|
20
|
+
importers_list.has_selector?("li > .importer[data-key='#{importer_key}']")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Dom
|
3
|
+
module Editor
|
4
|
+
class FileImportDialog < Domino
|
5
|
+
selector '.dialog_container > .files_importer'
|
6
|
+
|
7
|
+
def cancel_button
|
8
|
+
node.find('button.close')
|
9
|
+
end
|
10
|
+
|
11
|
+
def import_button
|
12
|
+
node.find('button.import')
|
13
|
+
end
|
14
|
+
|
15
|
+
def file_section
|
16
|
+
node.find('.filesection')
|
17
|
+
end
|
18
|
+
|
19
|
+
def status
|
20
|
+
node.find('.status')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Dom
|
3
|
+
module Editor
|
4
|
+
class Sidebar < Domino
|
5
|
+
selector 'sidebar.editor'
|
6
|
+
|
7
|
+
def has_chapter_item?
|
8
|
+
node.has_selector?('ul.chapters > li:not(.creating)')
|
9
|
+
end
|
10
|
+
|
11
|
+
def has_no_chapter_item?
|
12
|
+
node.has_no_selector?('ul.chapters > li')
|
13
|
+
end
|
14
|
+
|
15
|
+
def add_chapter_button
|
16
|
+
node.find('.add_chapter')
|
17
|
+
end
|
18
|
+
|
19
|
+
def publish_button
|
20
|
+
node.find('.publish')
|
21
|
+
end
|
22
|
+
|
23
|
+
def manage_files_menu_item
|
24
|
+
node.find('.menu .manage_files')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pageflow/dom/editor/entry_outline'
|
2
|
+
require 'pageflow/dom/editor/sidebar'
|
3
|
+
require 'pageflow/dom/editor/file_import_chooser'
|
4
|
+
require 'pageflow/dom/editor/file_import_dialog'
|
5
|
+
|
6
|
+
module Pageflow
|
7
|
+
module Dom
|
8
|
+
# Dominos for editor ui elements and helper methods.
|
9
|
+
module Editor
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/pageflow/dom.rb
CHANGED
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'pageflow/global_config_api_test_helper'
|
2
|
+
require 'pageflow/test_page_type'
|
3
|
+
require 'pageflow/entry_export_import'
|
4
|
+
|
5
|
+
module Pageflow
|
6
|
+
module Lint
|
7
|
+
# @api private
|
8
|
+
module FileImport
|
9
|
+
def self.lint(file_importer)
|
10
|
+
GlobalConfigApiTestHelper.setup
|
11
|
+
RSpec.describe "file importer #{file_importer.name}" do
|
12
|
+
before do
|
13
|
+
pageflow_configure do |config|
|
14
|
+
config.file_importers.register(file_importer.name, file_importer)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def file_importer_credentials(authentication_provider)
|
19
|
+
token = AuthenticationToken.where(provider: authentication_provider) if
|
20
|
+
authentication_provider.present?
|
21
|
+
unless token.nil?
|
22
|
+
token = nil if token.empty?
|
23
|
+
end
|
24
|
+
token
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'extends Pageflow::FileImporter class' do
|
28
|
+
expect(file_importer).to be_kind_of(Pageflow::FileImporter)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'has a name method which returns string name' do
|
32
|
+
expect(file_importer.class.method_defined?(:name)).to be(true)
|
33
|
+
expect {
|
34
|
+
importer_name = file_importer.name
|
35
|
+
expect(importer_name).to be_instance_of(String)
|
36
|
+
}.not_to raise_error
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'has a authentication_provider method' do
|
40
|
+
expect(file_importer.class.method_defined?(:authentication_provider)).to be(true)
|
41
|
+
provider = file_importer.authentication_provider
|
42
|
+
expect(provider).to be_nil.or be_a(Symbol)
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'has a search method' do
|
46
|
+
expect(file_importer.class.method_defined?(:search)).to be(true)
|
47
|
+
expect {
|
48
|
+
provider = file_importer.authentication_provider
|
49
|
+
search_result = file_importer.search(file_importer_credentials(provider),
|
50
|
+
'test*$*page=1&per_page=15*$*')
|
51
|
+
expect(search_result).not_to be_nil
|
52
|
+
}.not_to raise_error
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'has a files_meta_data method' do
|
56
|
+
expect(file_importer.class.method_defined?(:files_meta_data)).to be(true)
|
57
|
+
expect {
|
58
|
+
provider = file_importer.authentication_provider
|
59
|
+
meta_data = file_importer.files_meta_data(file_importer_credentials(provider), {})
|
60
|
+
expect(meta_data).not_to be_nil
|
61
|
+
expect(meta_data).to include(:collection)
|
62
|
+
expect(meta_data).to include(:files)
|
63
|
+
expect(meta_data[:files]).to be_kind_of(Array)
|
64
|
+
}.not_to raise_error
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'has a download_file method' do
|
68
|
+
expect(file_importer.class.method_defined?(:download_file)).to be(true)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/pageflow/lint.rb
CHANGED
@@ -3,6 +3,7 @@ require 'pageflow/test_page_type'
|
|
3
3
|
|
4
4
|
require 'pageflow/lint/file_type'
|
5
5
|
require 'pageflow/lint/page_type'
|
6
|
+
require 'pageflow/lint/file_import'
|
6
7
|
|
7
8
|
module Pageflow
|
8
9
|
# Shared examples providing integration level specs for Pageflow
|
@@ -54,5 +55,18 @@ module Pageflow
|
|
54
55
|
def self.page_type(*args)
|
55
56
|
Lint::PageType.lint(*args)
|
56
57
|
end
|
58
|
+
|
59
|
+
# Contracts specs for file import plugin
|
60
|
+
# @example
|
61
|
+
#
|
62
|
+
# require 'spec_helper'
|
63
|
+
# require 'pageflow/lint'
|
64
|
+
#
|
65
|
+
# module SomePlugin
|
66
|
+
# Pageflow::Lint.file_import(SomePLugin.file_import)
|
67
|
+
# end
|
68
|
+
def self.file_import(*args)
|
69
|
+
Lint::FileImport.lint(*args)
|
70
|
+
end
|
57
71
|
end
|
58
72
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pageflow-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 15.0.
|
4
|
+
version: 15.1.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Codevise Solutions Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pageflow
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 15.0.
|
19
|
+
version: 15.1.0.beta1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 15.0.
|
26
|
+
version: 15.1.0.beta1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mysql2
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,6 +191,12 @@ files:
|
|
191
191
|
- pageflow/dom/admin/edit_forms.rb
|
192
192
|
- pageflow/dom/admin/page.rb
|
193
193
|
- pageflow/dom/admin/sign_in_form.rb
|
194
|
+
- pageflow/dom/editor.rb
|
195
|
+
- pageflow/dom/editor/entry_outline.rb
|
196
|
+
- pageflow/dom/editor/file_import_chooser.rb
|
197
|
+
- pageflow/dom/editor/file_import_dialog.rb
|
198
|
+
- pageflow/dom/editor/public_dominos.rb
|
199
|
+
- pageflow/dom/editor/sidebar.rb
|
194
200
|
- pageflow/dummy.rb
|
195
201
|
- pageflow/dummy/app.rb
|
196
202
|
- pageflow/dummy/config/pageflow.rb
|
@@ -204,6 +210,7 @@ files:
|
|
204
210
|
- pageflow/dummy/templates/test_theme_preview.png
|
205
211
|
- pageflow/global_config_api_test_helper.rb
|
206
212
|
- pageflow/lint.rb
|
213
|
+
- pageflow/lint/file_import.rb
|
207
214
|
- pageflow/lint/file_type.rb
|
208
215
|
- pageflow/lint/page_type.rb
|
209
216
|
- pageflow/rails_version.rb
|
@@ -225,12 +232,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
225
232
|
version: '0'
|
226
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
234
|
requirements:
|
228
|
-
- - "
|
235
|
+
- - ">"
|
229
236
|
- !ruby/object:Gem::Version
|
230
|
-
version:
|
237
|
+
version: 1.3.1
|
231
238
|
requirements: []
|
232
239
|
rubyforge_project:
|
233
|
-
rubygems_version: 2.7.
|
240
|
+
rubygems_version: 2.7.5
|
234
241
|
signing_key:
|
235
242
|
specification_version: 4
|
236
243
|
summary: Spec support for Pageflow extensions.
|