Sha256: e091ec1e6746dae6efe8d1eb557a1096e9e92732f769a6086b2f707589ddb617

Contents?: true

Size: 831 Bytes

Versions: 10

Compression:

Stored size: 831 Bytes

Contents

# frozen_string_literal: true

module Spout
  module Tests
    module FormExistenceValidation
      def assert_form_existence(item)
        form_names = Dir.glob("forms/**/*.json").collect{|file| file.split("/").last.to_s.downcase.split(".json").first}

        result = begin
          (form_names | JSON.parse(File.read(item))["forms"]).size == form_names.size
        rescue JSON::ParserError
          false
        end

        message = "One or more forms referenced by #{item} does not exist."

        assert result, message
      end

      Dir.glob("variables/**/*.json").each do |file|
        if (not [nil, ""].include?(JSON.parse(File.read(file))["forms"]) rescue false)
          define_method("test_form_exists: "+file) do
            assert_form_existence file
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spout-1.0.0.beta1 lib/spout/tests/form_existence_validation.rb
spout-0.14.1 lib/spout/tests/form_existence_validation.rb
spout-0.14.0 lib/spout/tests/form_existence_validation.rb
spout-0.14.0.rc lib/spout/tests/form_existence_validation.rb
spout-0.14.0.beta3 lib/spout/tests/form_existence_validation.rb
spout-0.14.0.beta2 lib/spout/tests/form_existence_validation.rb
spout-0.14.0.beta1 lib/spout/tests/form_existence_validation.rb
spout-0.13.0 lib/spout/tests/form_existence_validation.rb
spout-0.13.0.beta2 lib/spout/tests/form_existence_validation.rb
spout-0.13.0.beta1 lib/spout/tests/form_existence_validation.rb