require "spec_helper"
require "rack/test"
include Rack::Test::Methods

describe Crono::Web do
  let(:app) { Crono::Web }

  before do
    @test_job_id = "Perform TestJob every 5 seconds"
    @test_job_log = "All runs ok"
    @test_job = Crono::CronoJob.create!(job_id: @test_job_id, log: @test_job_log)
  end

  after { @test_job.destroy }

  describe "/" do
    it "should show all jobs" do
      get '/'
      expect(last_response).to be_ok
      expect(last_response.body).to include @test_job_id
    end
  end

  describe "/job/:id" do
    it "should show job log" do
      get "/job/#{@test_job.id}"
      expect(last_response).to be_ok
      expect(last_response.body).to include @test_job_id
      expect(last_response.body).to include @test_job_log
    end
  end
end

require "spec_helper"
require "rack/test"
include Rack::Test::Methods

describe Crono::Web do
  let(:app) { Crono::Web }

  before do
    @test_job_id = "Perform TestJob every 5 seconds"
    @test_job_log = "All runs ok"
    @test_job = Crono::CronoJob.create!(job_id: @test_job_id, log: @test_job_log)
  end

  after { @test_job.destroy }

  describe "/" do
    it "should show all jobs" do
      get '/'
      expect(last_response).to be_ok
      expect(last_response.body).to include @test_job_id
    end

    it "should show a error mark when a job is unhealthy" do
      @test_job.update(healthy: false)
      get '/'
      expect(last_response.body).to include "Error"
    end
  end

  describe "/job/:id" do
    it "should show job log" do
      get "/job/#{@test_job.id}"
      expect(last_response).to be_ok
      expect(last_response.body).to include @test_job_id
      expect(last_response.body).to include @test_job_log
    end

    it "should show a message about the unhealthy job" do
      @test_job.update(healthy: false)
      get "/job/#{@test_job.id}"
      expect(last_response.body).to include "An error occurs during the last execution of this job"
    end
  end
end

Add specs to test error marks
Add specs to test error marks
