pageflow-support 15.0.2 → 15.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|