Skip to content

Commit

Permalink
Add explicit version arg to new group/kata create methods
Browse files Browse the repository at this point in the history
  • Loading branch information
JonJagger committed Aug 15, 2021
1 parent 0f7193c commit d58933e
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 31 deletions.
24 changes: 10 additions & 14 deletions app/source/model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@ def initialize(externals)

#- - - - - - - - - - - - - - - - - -

def group_create_custom(display_name:)
version = CURRENT_VERSION
manifest = build_custom_manifest(display_name, version)
def group_create_custom(version:, display_name:)
manifest = build_custom_manifest(version, display_name)
group(version).create(manifest, {})
end

def group_create2(ltf_name:, exercise_name:)
version = CURRENT_VERSION
manifest = build_manifest(ltf_name, exercise_name, version)
def group_create2(version:, ltf_name:, exercise_name:)
manifest = build_manifest(version, ltf_name, exercise_name)
group(version).create(manifest, {})
end

Expand Down Expand Up @@ -69,15 +67,13 @@ def group_fork(id:, index:)

#- - - - - - - - - - - - - - - - - -

def kata_create_custom(display_name:)
version = CURRENT_VERSION
manifest = build_custom_manifest(display_name, version)
def kata_create_custom(version:, display_name:)
manifest = build_custom_manifest(version, display_name)
kata(version).create(manifest, {})
end

def kata_create2(ltf_name:, exercise_name:)
version = CURRENT_VERSION
manifest = build_manifest(ltf_name, exercise_name, version)
def kata_create2(version:, ltf_name:, exercise_name:)
manifest = build_manifest(version, ltf_name, exercise_name)
kata(version).create(manifest, {})
end

Expand Down Expand Up @@ -209,13 +205,13 @@ def languages_start_points

# - - - - - - - - - - - - - - - - - - - -

def build_custom_manifest(display_name, version)
def build_custom_manifest(version, display_name)
manifest = custom_start_points.manifest(display_name)
manifest['version'] = version
manifest
end

def build_manifest(ltf_name, exercise_name, version)
def build_manifest(version, ltf_name, exercise_name)
manifest = languages_start_points.manifest(ltf_name)
unless exercise_name === ''
exercise = exercises_start_points.manifest(exercise_name)
Expand Down
4 changes: 2 additions & 2 deletions app/test/config/metrics.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

test: {
lines: {
total:1921,
total:1929,
missed:0,
},
branches: {
Expand All @@ -24,7 +24,7 @@

code: {
lines: {
total:1402,
total:1398,
missed:0,
},
branches: {
Expand Down
14 changes: 10 additions & 4 deletions app/test/group_create.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ def self.id58_prefix
'f27'
end

version_test 2, 'R5a', %w(
|POST /group_create_custom(display_name)
versions_test 'R5a', %w(
|POST /group_create_custom(version, display_name)
|has status 200
|returns the id: of a new group
|that exists in saver
Expand All @@ -17,8 +17,8 @@ def self.id58_prefix
assert_group_create_custom_200(display_name)
end

version_test 2, 'R5b', %w(
|POST /group_create2(ltf_name, exercise_name)
versions_test 'R5b', %w(
|POST /group_create2(version, ltf_name, exercise_name)
|has status 200
|returns the id: of a new group
|that exists in saver
Expand Down Expand Up @@ -172,25 +172,31 @@ def self.id58_prefix
def assert_group_create_custom_200(display_name)
assert_json_post_200(
path = 'group_create_custom', {
version: version,
display_name: display_name
}.to_json
) do |response|
assert_equal [path], response.keys.sort, :keys
id = response[path]
assert_group_exists(id, display_name)
manifest = group_manifest(id)
assert_equal version, manifest['version']
end
end

def assert_group_create2_200(ltf_name, exercise_name)
assert_json_post_200(
path = 'group_create2', {
version: version,
ltf_name: ltf_name,
exercise_name: exercise_name
}.to_json
) do |response|
assert_equal [path], response.keys.sort, :keys
id = response[path]
assert_group_exists(id, ltf_name, exercise_name)
manifest = group_manifest(id)
assert_equal version, manifest['version']
end
end

Expand Down
28 changes: 17 additions & 11 deletions app/test/kata_create.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,40 +8,40 @@ def self.id58_prefix

# - - - - - - - - - - - - - - - - - - - - - - -

versions3_test 'h35', %w(
|POST /kata_create_custom(display_name)
versions_test 'h35', %w(
|POST /kata_create_custom(version, display_name)
|has status 200
|returns the id: of a new kata
|that exists in saver
|with a matching values
) do
display_name = custom_start_points.display_names.sample
assert_kata_create_custom_200(display_name)
assert_kata_create_custom_200(version, display_name)
end

# - - - - - - - - - - - - - - - - - - - - - - -

versions3_test 'h36', %w(
|POST /kata_create2(ltf_name, exercise_name)
versions_test 'h36', %w(
|POST /kata_create2(version, ltf_name, exercise_name)
|has status 200
|returns the id: of a new kata
|that exists in saver
|with a matching values
) do
ltf_name = languages_start_points.display_names.sample
exercise_name = exercises_start_points.display_names.sample
assert_kata_create2_200(ltf_name, exercise_name)
assert_kata_create2_200(version, ltf_name, exercise_name)
end

versions3_test 'h37', %w(
|POST /kata_create2(ltf_name, exercise_name=nil)
versions_test 'h37', %w(
|POST /kata_create2(version, ltf_name, exercise_name=nil)
|has status 200
|returns the id: of a new kata
|that exists in saver
|with a matching values
) do
ltf_name = languages_start_points.display_names.sample
assert_kata_create2_200(ltf_name, '')
assert_kata_create2_200(version, ltf_name, '')
end

# - - - - - - - - - - - - - - - - - - - - - - -
Expand Down Expand Up @@ -113,28 +113,34 @@ def self.id58_prefix

private

def assert_kata_create_custom_200(display_name)
def assert_kata_create_custom_200(version, display_name)
assert_json_post_200(
path = 'kata_create_custom', {
version: version,
display_name: display_name
}.to_json
) do |response|
assert_equal [path], response.keys.sort, :keys
id = response[path]
assert_kata_exists(id, display_name)
manifest = kata_manifest(id)
assert_equal version, manifest['version']
end
end

def assert_kata_create2_200(ltf_name, exercise_name)
def assert_kata_create2_200(version, ltf_name, exercise_name)
assert_json_post_200(
path = 'kata_create2', {
version: version,
ltf_name: ltf_name,
exercise_name: exercise_name
}.to_json
) do |response|
assert_equal [path], response.keys.sort, :keys
id = response[path]
assert_kata_exists(id, ltf_name, exercise_name)
manifest = kata_manifest(id)
assert_equal version, manifest['version']
end
end

Expand Down

0 comments on commit d58933e

Please sign in to comment.