environment_test.rb 1.53 KB
require_relative 'test_helper'

class EnvironmentTest < ActiveSupport::TestCase

  def setup
    @person = create_user('testing').person
  end
  attr_reader :person

  should 'return the default environment' do
    environment = Environment.default
    get "/api/v1/environment/default"
    json = JSON.parse(last_response.body)
    assert_equal environment.id, json['id']
  end

  should 'return created environment' do
    environment = fast_create(Environment)
    default_env = Environment.default
    assert_not_equal environment.id, default_env.id
    get "/api/v1/environment/#{environment.id}"
    json = JSON.parse(last_response.body)
    assert_equal environment.id, json['id']
  end

  should 'return context environment' do
    context_env = fast_create(Environment)
    context_env.name = "example org"
    context_env.save
    context_env.domains<< Domain.new(:name => 'example.org')
    default_env = Environment.default
    assert_not_equal context_env.id, default_env.id
    get "/api/v1/environment/context"
    json = JSON.parse(last_response.body)
    assert_equal context_env.id, json['id']
  end  

  should 'return environment boxes' do
    environment = Environment.default
    environment.boxes << Box.new
    box = environment.boxes.last
    environment.boxes[0].blocks << Block.new
    environment.save!
    assert !environment.boxes.empty?
    get "/api/v1/environments/#{environment.id}/boxes"
    json = JSON.parse(last_response.body)
    assert_equal "boxes", json.first[0]
    assert_equal box.id, json['boxes'].first['id']
  end

end