trailblazer-endpoint 0.0.1 → 0.0.6
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/.gitignore +16 -0
- data/Appraisals +5 -0
- data/CHANGES.md +26 -0
- data/README.md +40 -5
- data/Rakefile +7 -1
- data/gemfiles/rails_app.gemfile +12 -0
- data/lib/trailblazer/endpoint.rb +29 -14
- data/lib/trailblazer/endpoint/adapter.rb +30 -121
- data/lib/trailblazer/endpoint/builder.rb +1 -1
- data/lib/trailblazer/endpoint/controller.rb +223 -0
- data/lib/trailblazer/endpoint/dsl.rb +29 -0
- data/lib/trailblazer/endpoint/options.rb +92 -0
- data/lib/trailblazer/endpoint/protocol.rb +5 -8
- data/lib/trailblazer/endpoint/version.rb +1 -1
- data/test/adapter/api_test.rb +6 -11
- data/test/adapter/web_test.rb +2 -5
- data/test/config_test.rb +128 -0
- data/test/docs/controller_test.rb +339 -58
- data/test/endpoint_test.rb +1 -1
- data/test/rails-app/.gitignore +8 -2
- data/test/rails-app/.ruby-version +1 -0
- data/test/rails-app/Gemfile +15 -9
- data/test/rails-app/Gemfile.lock +162 -121
- data/test/rails-app/app/concepts/app/api/v1/representer/errors.rb +16 -0
- data/test/rails-app/app/concepts/auth/jwt.rb +35 -0
- data/test/rails-app/app/concepts/auth/operation/authenticate.rb +32 -0
- data/test/rails-app/app/concepts/auth/operation/policy.rb +9 -0
- data/test/rails-app/app/concepts/song/cell/create.rb +4 -0
- data/test/rails-app/app/concepts/song/cell/new.rb +4 -0
- data/test/rails-app/app/concepts/song/operation/create.rb +17 -0
- data/test/rails-app/app/concepts/song/operation/show.rb +10 -0
- data/test/rails-app/app/concepts/song/representer.rb +5 -0
- data/test/rails-app/app/concepts/song/view/create.erb +1 -0
- data/test/rails-app/app/concepts/song/view/new.erb +1 -0
- data/test/rails-app/app/controllers/api/v1/songs_controller.rb +41 -0
- data/test/rails-app/app/controllers/application_controller.rb +8 -1
- data/test/rails-app/app/controllers/application_controller/api.rb +107 -0
- data/test/rails-app/app/controllers/application_controller/web.rb +44 -0
- data/test/rails-app/app/controllers/auth_controller.rb +44 -0
- data/test/rails-app/app/controllers/home_controller.rb +5 -0
- data/test/rails-app/app/controllers/songs_controller.rb +71 -13
- data/test/rails-app/app/models/song.rb +3 -0
- data/test/rails-app/app/models/user.rb +7 -0
- data/test/rails-app/bin/bundle +114 -0
- data/test/rails-app/bin/rails +4 -0
- data/test/rails-app/bin/rake +4 -0
- data/test/rails-app/bin/setup +33 -0
- data/test/rails-app/config/application.rb +26 -3
- data/test/rails-app/config/credentials.yml.enc +1 -0
- data/test/rails-app/config/database.yml +2 -2
- data/test/rails-app/config/environments/development.rb +7 -17
- data/test/rails-app/config/environments/production.rb +28 -23
- data/test/rails-app/config/environments/test.rb +8 -12
- data/test/rails-app/config/initializers/application_controller_renderer.rb +6 -4
- data/test/rails-app/config/initializers/cors.rb +16 -0
- data/test/rails-app/config/initializers/trailblazer.rb +2 -0
- data/test/rails-app/config/locales/en.yml +11 -1
- data/test/rails-app/config/master.key +1 -0
- data/test/rails-app/config/routes.rb +16 -4
- data/test/rails-app/db/schema.rb +15 -0
- data/test/rails-app/test/controllers/api_songs_controller_test.rb +87 -0
- data/test/rails-app/test/controllers/songs_controller_test.rb +80 -147
- data/test/rails-app/test/test_helper.rb +7 -1
- data/test/test_helper.rb +0 -2
- data/trailblazer-endpoint.gemspec +2 -1
- metadata +70 -22
- data/test/rails-app/config/initializers/cookies_serializer.rb +0 -5
- data/test/rails-app/config/initializers/new_framework_defaults.rb +0 -24
- data/test/rails-app/config/initializers/session_store.rb +0 -3
- data/test/rails-app/config/secrets.yml +0 -22
- data/test/rails-app/test/helpers/.keep +0 -0
- data/test/rails-app/test/integration/.keep +0 -0
- data/test/rails-app/test/mailers/.keep +0 -0
- data/test/rails-app/vendor/assets/javascripts/.keep +0 -0
- data/test/rails-app/vendor/assets/stylesheets/.keep +0 -0
@@ -1,156 +1,89 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
end # FIXME
|
6
|
-
|
7
|
-
|
8
|
-
Song = Struct.new(:id, :title, :length) do
|
9
|
-
def self.find_by(id:1); id=="0" ? nil : new(id, "A Song") end
|
10
|
-
end
|
11
|
-
|
12
|
-
require "trailblazer"
|
13
|
-
require "trailblazer/operation/model"
|
14
|
-
# require "reform/form/active_model/validations"
|
15
|
-
require "trailblazer/operation/contract"
|
16
|
-
require "trailblazer/operation/representer"
|
17
|
-
require "trailblazer/operation/guard"
|
18
|
-
require "trailblazer/endpoint"
|
19
|
-
|
20
|
-
|
21
|
-
require "representable/json"
|
22
|
-
class Serializer < Representable::Decorator
|
23
|
-
include Representable::JSON
|
24
|
-
property :id
|
25
|
-
property :title
|
26
|
-
property :length
|
27
|
-
|
28
|
-
class Errors < Representable::Decorator
|
29
|
-
include Representable::JSON
|
30
|
-
property :messages
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
class Deserializer < Representable::Decorator
|
35
|
-
include Representable::JSON
|
36
|
-
property :title
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
class Create < Trailblazer::Operation
|
41
|
-
include Policy::Guard
|
42
|
-
policy ->(*) { self["user.current"] == ::Module }
|
43
|
-
|
44
|
-
extend Representer::DSL
|
45
|
-
representer :serializer, Serializer
|
46
|
-
representer :deserializer, Deserializer
|
47
|
-
representer :errors, Serializer::Errors
|
48
|
-
# self["representer.serializer.class"] = Representer
|
49
|
-
# self["representer.deserializer.class"] = Deserializer
|
50
|
-
|
51
|
-
include Model
|
52
|
-
model Song, :create
|
53
|
-
|
54
|
-
include Contract::Step
|
55
|
-
include Representer::Deserializer::JSON
|
56
|
-
# contract do
|
57
|
-
# property :title
|
58
|
-
# property :length
|
59
|
-
|
60
|
-
# include Reform::Form::ActiveModel::Validations
|
61
|
-
# validates :title, presence: true
|
62
|
-
# end
|
63
|
-
|
64
|
-
# FIXME: use trb-rails and reform
|
65
|
-
class FakeContract
|
66
|
-
def initialize(model,*); @model = model end
|
67
|
-
def call(params)
|
68
|
-
if params[:title]
|
69
|
-
@title, @length = params[:title],params[:length]
|
70
|
-
return Trailblazer::Operation::Result.new(true, {})
|
71
|
-
end
|
72
|
-
|
73
|
-
return Struct.new(:errors, :success?).new(Struct.new(:messages).new({"title": ["must be set"]}), false)
|
74
|
-
end
|
75
|
-
def sync; @model.title = @title; @model.length = @length; end
|
76
|
-
end
|
77
|
-
|
78
|
-
contract FakeContract
|
79
|
-
|
80
|
-
def process(params)
|
81
|
-
validate(params) do |f|
|
82
|
-
self["contract"].sync
|
83
|
-
self["model"].id = 9
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
class Update < Create
|
89
|
-
action :find_by
|
90
|
-
end
|
91
|
-
|
92
|
-
# TODO: test present.
|
93
|
-
class Show < Trailblazer::Operation
|
94
|
-
include Policy::Guard
|
95
|
-
policy ->(*) { self["user.current"] == ::Module }
|
96
|
-
|
97
|
-
extend Representer::DSL
|
98
|
-
representer :serializer, Serializer
|
99
|
-
|
100
|
-
include Model
|
101
|
-
model Song, :find_by
|
102
|
-
|
103
|
-
self.> ->(input, options) { options["present"] = true }, before: "operation.result"
|
104
|
-
end
|
105
|
-
|
106
|
-
class SongsControllerTest < ActionController::TestCase
|
107
|
-
# 404
|
108
|
-
test "update 404" do
|
109
|
-
post :update, params: { id: 0 }
|
110
|
-
assert_equal 404, response.status
|
111
|
-
end
|
112
|
-
|
3
|
+
class SongsControllerTest < ActionDispatch::IntegrationTest
|
4
|
+
test "all possible outcomes with {Create}" do
|
113
5
|
# 401
|
114
|
-
|
115
|
-
|
116
|
-
assert_equal
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
post
|
130
|
-
|
131
|
-
|
132
|
-
assert_equal "
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
6
|
+
post "/songs", params: {}
|
7
|
+
assert_response 401
|
8
|
+
assert_equal "", response.body
|
9
|
+
|
10
|
+
# sign in
|
11
|
+
post "/auth/sign_in", params: {username: "yogi@trb.to", password: "secret"}
|
12
|
+
assert_equal 1, session[:user_id]
|
13
|
+
# follow_redirect!
|
14
|
+
assert_equal 1, session[:user_id]
|
15
|
+
|
16
|
+
post "/songs", params: {id: 1}
|
17
|
+
# default {success} block doesn't do anything
|
18
|
+
assert_response 200
|
19
|
+
assert_equal "", response.body
|
20
|
+
|
21
|
+
post "/songs", params: {}
|
22
|
+
# default {failure} block doesn't do anything
|
23
|
+
assert_response 422
|
24
|
+
assert_equal "", response.body
|
25
|
+
|
26
|
+
# 403
|
27
|
+
post "/songs", params: {policy: false}
|
28
|
+
assert_response 403
|
29
|
+
assert_equal "", response.body
|
30
|
+
|
31
|
+
post "/songs/create_with_options", params: {id: 1}
|
32
|
+
# {success} block renders model
|
33
|
+
assert_response 200
|
34
|
+
assert_equal "<div>#<struct Song id=\"1\">#<struct User id=2, email=\"seuros@trb.to\"></div>\n", response.body
|
35
|
+
|
36
|
+
post "/songs/create_with_options", params: {}
|
37
|
+
# default {failure} block doesn't do anything
|
38
|
+
assert_response 422
|
39
|
+
assert_equal "", response.body
|
40
|
+
|
41
|
+
post "/songs/create_with_or", params: {id: 1}
|
42
|
+
# {success} block renders model
|
43
|
+
assert_response 200
|
44
|
+
assert_equal "<div>#<struct Song id=\"1\">#<struct User id=1, email=\"yogi@trb.to\"></div>\n", response.body
|
45
|
+
|
46
|
+
post "/songs/create_with_or", params: {}
|
47
|
+
assert_response 200
|
48
|
+
assert_equal %{<div>#<struct errors=nil></div>\n}, response.body
|
49
|
+
|
50
|
+
# Or { render status: 422 }
|
51
|
+
post "/songs/create_or", params: {}
|
52
|
+
assert_response 422
|
53
|
+
assert_equal %{null}, response.body
|
54
|
+
|
55
|
+
# {:endpoint_ctx} is available in blocks
|
56
|
+
post "/songs/endpoint_ctx", params: {id: 1}
|
57
|
+
assert_response 200
|
58
|
+
assert_equal "Created", response.body
|
59
|
+
# assert_equal "[\"domain_ctx\",\"session\",\"controller\",\"config_source\",\"current_user\",\"domain_activity_return_signal\"]", response.body
|
60
|
+
|
61
|
+
# {:options_for_domain_ctx} overrides domain_ctx
|
62
|
+
post "/songs/create_with_options_for_domain_ctx", params: {id: 1} # params get overridden
|
63
|
+
assert_response 200
|
64
|
+
assert_equal "<div>#<struct Song id=999></div>\n", response.body
|
140
65
|
end
|
141
66
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
assert_equal
|
146
|
-
assert_equal %{}, response.body
|
147
|
-
assert_equal "/songs/9", response.header["Location"]
|
67
|
+
test "override protocol_failure" do
|
68
|
+
post "/songs/create_with_protocol_failure", params: {}
|
69
|
+
assert_response 500
|
70
|
+
assert_equal "wrong login, app crashed", response.body
|
148
71
|
end
|
149
72
|
|
150
|
-
|
151
|
-
|
152
|
-
post
|
153
|
-
|
154
|
-
assert_equal
|
73
|
+
test "sign_in" do
|
74
|
+
# wrong credentials
|
75
|
+
post "/auth/sign_in", params: {}
|
76
|
+
assert_response 401
|
77
|
+
assert_equal "", response.body
|
78
|
+
assert_nil session[:user_id]
|
79
|
+
|
80
|
+
# valid signin
|
81
|
+
post "/auth/sign_in", params: {username: "yogi@trb.to", password: "secret"}
|
82
|
+
assert_response 302
|
83
|
+
# assert_equal "", response.body
|
84
|
+
assert_equal 1, session[:user_id]
|
85
|
+
assert_redirected_to "/"
|
155
86
|
end
|
156
87
|
end
|
88
|
+
|
89
|
+
# TODO: test 404 with NotFound config
|
@@ -1,10 +1,16 @@
|
|
1
1
|
ENV['RAILS_ENV'] ||= 'test'
|
2
|
-
|
2
|
+
require_relative '../config/environment'
|
3
3
|
require 'rails/test_help'
|
4
4
|
|
5
5
|
class ActiveSupport::TestCase
|
6
|
+
# Run tests in parallel with specified workers
|
7
|
+
parallelize(workers: :number_of_processors)
|
8
|
+
|
6
9
|
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
7
10
|
fixtures :all
|
8
11
|
|
9
12
|
# Add more helper methods to be used by all tests here...
|
10
13
|
end
|
14
|
+
|
15
|
+
class Show < Trailblazer::Activity::Railway
|
16
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -17,10 +17,11 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.
|
20
|
+
spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.3.0", "< 0.4.0"
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler"
|
23
23
|
spec.add_development_dependency "rake"
|
24
24
|
spec.add_development_dependency "minitest"
|
25
25
|
spec.add_development_dependency "trailblazer-developer"
|
26
|
+
# spec.add_development_dependency "appraisal"
|
26
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer-endpoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: trailblazer-activity-dsl-linear
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.3.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.4.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.3.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.4.0
|
@@ -94,14 +94,20 @@ executables: []
|
|
94
94
|
extensions: []
|
95
95
|
extra_rdoc_files: []
|
96
96
|
files:
|
97
|
+
- ".gitignore"
|
98
|
+
- Appraisals
|
97
99
|
- CHANGES.md
|
98
100
|
- Gemfile
|
99
101
|
- README.md
|
100
102
|
- Rakefile
|
103
|
+
- gemfiles/rails_app.gemfile
|
101
104
|
- lib/trailblazer-endpoint.rb
|
102
105
|
- lib/trailblazer/endpoint.rb
|
103
106
|
- lib/trailblazer/endpoint/adapter.rb
|
104
107
|
- lib/trailblazer/endpoint/builder.rb
|
108
|
+
- lib/trailblazer/endpoint/controller.rb
|
109
|
+
- lib/trailblazer/endpoint/dsl.rb
|
110
|
+
- lib/trailblazer/endpoint/options.rb
|
105
111
|
- lib/trailblazer/endpoint/protocol.rb
|
106
112
|
- lib/trailblazer/endpoint/rails.rb
|
107
113
|
- lib/trailblazer/endpoint/version.rb
|
@@ -109,21 +115,46 @@ files:
|
|
109
115
|
- test/adapter/representable_test.rb
|
110
116
|
- test/adapter/web_test.rb
|
111
117
|
- test/benchmark/skill_resolver_benchmark.rb
|
118
|
+
- test/config_test.rb
|
112
119
|
- test/docs/controller_test.rb
|
113
120
|
- test/docs/endpoint_test.rb
|
114
121
|
- test/endpoint_test.rb
|
115
122
|
- test/rails-app/.gitignore
|
123
|
+
- test/rails-app/.ruby-version
|
116
124
|
- test/rails-app/Gemfile
|
117
125
|
- test/rails-app/Gemfile.lock
|
118
126
|
- test/rails-app/README.md
|
119
127
|
- test/rails-app/Rakefile
|
128
|
+
- test/rails-app/app/concepts/app/api/v1/representer/errors.rb
|
129
|
+
- test/rails-app/app/concepts/auth/jwt.rb
|
130
|
+
- test/rails-app/app/concepts/auth/operation/authenticate.rb
|
131
|
+
- test/rails-app/app/concepts/auth/operation/policy.rb
|
132
|
+
- test/rails-app/app/concepts/song/cell/create.rb
|
133
|
+
- test/rails-app/app/concepts/song/cell/new.rb
|
134
|
+
- test/rails-app/app/concepts/song/operation/create.rb
|
135
|
+
- test/rails-app/app/concepts/song/operation/show.rb
|
136
|
+
- test/rails-app/app/concepts/song/representer.rb
|
137
|
+
- test/rails-app/app/concepts/song/view/create.erb
|
138
|
+
- test/rails-app/app/concepts/song/view/new.erb
|
139
|
+
- test/rails-app/app/controllers/api/v1/songs_controller.rb
|
120
140
|
- test/rails-app/app/controllers/application_controller.rb
|
141
|
+
- test/rails-app/app/controllers/application_controller/api.rb
|
142
|
+
- test/rails-app/app/controllers/application_controller/web.rb
|
143
|
+
- test/rails-app/app/controllers/auth_controller.rb
|
144
|
+
- test/rails-app/app/controllers/home_controller.rb
|
121
145
|
- test/rails-app/app/controllers/songs_controller.rb
|
122
146
|
- test/rails-app/app/models/application_record.rb
|
123
147
|
- test/rails-app/app/models/concerns/.keep
|
148
|
+
- test/rails-app/app/models/song.rb
|
149
|
+
- test/rails-app/app/models/user.rb
|
150
|
+
- test/rails-app/bin/bundle
|
151
|
+
- test/rails-app/bin/rails
|
152
|
+
- test/rails-app/bin/rake
|
153
|
+
- test/rails-app/bin/setup
|
124
154
|
- test/rails-app/config.ru
|
125
155
|
- test/rails-app/config/application.rb
|
126
156
|
- test/rails-app/config/boot.rb
|
157
|
+
- test/rails-app/config/credentials.yml.enc
|
127
158
|
- test/rails-app/config/database.yml
|
128
159
|
- test/rails-app/config/environment.rb
|
129
160
|
- test/rails-app/config/environments/development.rb
|
@@ -131,30 +162,26 @@ files:
|
|
131
162
|
- test/rails-app/config/environments/test.rb
|
132
163
|
- test/rails-app/config/initializers/application_controller_renderer.rb
|
133
164
|
- test/rails-app/config/initializers/backtrace_silencers.rb
|
134
|
-
- test/rails-app/config/initializers/
|
165
|
+
- test/rails-app/config/initializers/cors.rb
|
135
166
|
- test/rails-app/config/initializers/filter_parameter_logging.rb
|
136
167
|
- test/rails-app/config/initializers/inflections.rb
|
137
168
|
- test/rails-app/config/initializers/mime_types.rb
|
138
|
-
- test/rails-app/config/initializers/
|
139
|
-
- test/rails-app/config/initializers/session_store.rb
|
169
|
+
- test/rails-app/config/initializers/trailblazer.rb
|
140
170
|
- test/rails-app/config/initializers/wrap_parameters.rb
|
141
171
|
- test/rails-app/config/locales/en.yml
|
172
|
+
- test/rails-app/config/master.key
|
142
173
|
- test/rails-app/config/routes.rb
|
143
|
-
- test/rails-app/
|
174
|
+
- test/rails-app/db/schema.rb
|
144
175
|
- test/rails-app/db/seeds.rb
|
145
176
|
- test/rails-app/log/.keep
|
146
177
|
- test/rails-app/test/controllers/.keep
|
178
|
+
- test/rails-app/test/controllers/api_songs_controller_test.rb
|
147
179
|
- test/rails-app/test/controllers/songs_controller_test.rb
|
148
180
|
- test/rails-app/test/fixtures/.keep
|
149
181
|
- test/rails-app/test/fixtures/files/.keep
|
150
|
-
- test/rails-app/test/helpers/.keep
|
151
|
-
- test/rails-app/test/integration/.keep
|
152
|
-
- test/rails-app/test/mailers/.keep
|
153
182
|
- test/rails-app/test/models/.keep
|
154
183
|
- test/rails-app/test/test_helper.rb
|
155
184
|
- test/rails-app/tmp/.keep
|
156
|
-
- test/rails-app/vendor/assets/javascripts/.keep
|
157
|
-
- test/rails-app/vendor/assets/stylesheets/.keep
|
158
185
|
- test/test_helper.rb
|
159
186
|
- trailblazer-endpoint.gemspec
|
160
187
|
homepage: http://trailblazer.to/gems/operation/endpoint.html
|
@@ -187,21 +214,46 @@ test_files:
|
|
187
214
|
- test/adapter/representable_test.rb
|
188
215
|
- test/adapter/web_test.rb
|
189
216
|
- test/benchmark/skill_resolver_benchmark.rb
|
217
|
+
- test/config_test.rb
|
190
218
|
- test/docs/controller_test.rb
|
191
219
|
- test/docs/endpoint_test.rb
|
192
220
|
- test/endpoint_test.rb
|
193
221
|
- test/rails-app/.gitignore
|
222
|
+
- test/rails-app/.ruby-version
|
194
223
|
- test/rails-app/Gemfile
|
195
224
|
- test/rails-app/Gemfile.lock
|
196
225
|
- test/rails-app/README.md
|
197
226
|
- test/rails-app/Rakefile
|
227
|
+
- test/rails-app/app/concepts/app/api/v1/representer/errors.rb
|
228
|
+
- test/rails-app/app/concepts/auth/jwt.rb
|
229
|
+
- test/rails-app/app/concepts/auth/operation/authenticate.rb
|
230
|
+
- test/rails-app/app/concepts/auth/operation/policy.rb
|
231
|
+
- test/rails-app/app/concepts/song/cell/create.rb
|
232
|
+
- test/rails-app/app/concepts/song/cell/new.rb
|
233
|
+
- test/rails-app/app/concepts/song/operation/create.rb
|
234
|
+
- test/rails-app/app/concepts/song/operation/show.rb
|
235
|
+
- test/rails-app/app/concepts/song/representer.rb
|
236
|
+
- test/rails-app/app/concepts/song/view/create.erb
|
237
|
+
- test/rails-app/app/concepts/song/view/new.erb
|
238
|
+
- test/rails-app/app/controllers/api/v1/songs_controller.rb
|
198
239
|
- test/rails-app/app/controllers/application_controller.rb
|
240
|
+
- test/rails-app/app/controllers/application_controller/api.rb
|
241
|
+
- test/rails-app/app/controllers/application_controller/web.rb
|
242
|
+
- test/rails-app/app/controllers/auth_controller.rb
|
243
|
+
- test/rails-app/app/controllers/home_controller.rb
|
199
244
|
- test/rails-app/app/controllers/songs_controller.rb
|
200
245
|
- test/rails-app/app/models/application_record.rb
|
201
246
|
- test/rails-app/app/models/concerns/.keep
|
247
|
+
- test/rails-app/app/models/song.rb
|
248
|
+
- test/rails-app/app/models/user.rb
|
249
|
+
- test/rails-app/bin/bundle
|
250
|
+
- test/rails-app/bin/rails
|
251
|
+
- test/rails-app/bin/rake
|
252
|
+
- test/rails-app/bin/setup
|
202
253
|
- test/rails-app/config.ru
|
203
254
|
- test/rails-app/config/application.rb
|
204
255
|
- test/rails-app/config/boot.rb
|
256
|
+
- test/rails-app/config/credentials.yml.enc
|
205
257
|
- test/rails-app/config/database.yml
|
206
258
|
- test/rails-app/config/environment.rb
|
207
259
|
- test/rails-app/config/environments/development.rb
|
@@ -209,28 +261,24 @@ test_files:
|
|
209
261
|
- test/rails-app/config/environments/test.rb
|
210
262
|
- test/rails-app/config/initializers/application_controller_renderer.rb
|
211
263
|
- test/rails-app/config/initializers/backtrace_silencers.rb
|
212
|
-
- test/rails-app/config/initializers/
|
264
|
+
- test/rails-app/config/initializers/cors.rb
|
213
265
|
- test/rails-app/config/initializers/filter_parameter_logging.rb
|
214
266
|
- test/rails-app/config/initializers/inflections.rb
|
215
267
|
- test/rails-app/config/initializers/mime_types.rb
|
216
|
-
- test/rails-app/config/initializers/
|
217
|
-
- test/rails-app/config/initializers/session_store.rb
|
268
|
+
- test/rails-app/config/initializers/trailblazer.rb
|
218
269
|
- test/rails-app/config/initializers/wrap_parameters.rb
|
219
270
|
- test/rails-app/config/locales/en.yml
|
271
|
+
- test/rails-app/config/master.key
|
220
272
|
- test/rails-app/config/routes.rb
|
221
|
-
- test/rails-app/
|
273
|
+
- test/rails-app/db/schema.rb
|
222
274
|
- test/rails-app/db/seeds.rb
|
223
275
|
- test/rails-app/log/.keep
|
224
276
|
- test/rails-app/test/controllers/.keep
|
277
|
+
- test/rails-app/test/controllers/api_songs_controller_test.rb
|
225
278
|
- test/rails-app/test/controllers/songs_controller_test.rb
|
226
279
|
- test/rails-app/test/fixtures/.keep
|
227
280
|
- test/rails-app/test/fixtures/files/.keep
|
228
|
-
- test/rails-app/test/helpers/.keep
|
229
|
-
- test/rails-app/test/integration/.keep
|
230
|
-
- test/rails-app/test/mailers/.keep
|
231
281
|
- test/rails-app/test/models/.keep
|
232
282
|
- test/rails-app/test/test_helper.rb
|
233
283
|
- test/rails-app/tmp/.keep
|
234
|
-
- test/rails-app/vendor/assets/javascripts/.keep
|
235
|
-
- test/rails-app/vendor/assets/stylesheets/.keep
|
236
284
|
- test/test_helper.rb
|