features/indexes/step_definitions.rb (25 lines of code) (raw):
# frozen_string_literal: true
When(/^we add a local secondary index to the model with parameters:$/) do |string|
name, hash = JSON.parse(string, symbolize_names: true)
name = name.to_sym
hash[:range_key] = hash[:range_key].to_sym
@model.local_secondary_index(name, hash)
end
Then(/^the table should have a local secondary index named "([^"]*)"$/) do |expected|
resp = @client.describe_table(table_name: @table_name)
lsis = resp.table.local_secondary_indexes
exists = lsis&.any? { |index| index.index_name == expected }
expect(exists).to eq(true)
end
When(/^we add a global secondary index to the model with parameters:$/) do |string|
name, hash = JSON.parse(string, symbolize_names: true)
name = name.to_sym
hash[:hash_key] = hash[:hash_key].to_sym
hash[:range_key] = hash[:range_key].to_sym
@model.global_secondary_index(name, hash)
end
Then(/^the table should have a global secondary index named "([^"]*)"$/) do |expected|
resp = @client.describe_table(table_name: @table_name)
gsis = resp.table.global_secondary_indexes
exists = gsis&.any? { |index| index.index_name == expected }
expect(exists).to eq(true)
end