TMCee/tmc-client

View on GitHub
specs/list_spec.rb

Summary

Maintainability
A
0 mins
Test Coverage
require_relative '../lib/tmc-client/client.rb'
require 'rspec'
require 'mocha'

describe Client do
  subject do 
    Client.new
  end

  before(:each) do
    subject.config = MyConfig.new
  end
  
  it "should print all course names when listing courses" do
    subject.courses = {"courses" =>  [{ "name" => "test_course1"}, {"name" => "test_course2" }] }
    output = mock("output")
    output.expects(:puts).with("test_course1")
    output.expects(:puts).with("test_course2")
    subject.output = output
    subject.list_courses
  end

  it "should print all exercise names when listing exercises of a course" do
    subject.courses = {"courses" =>  [{ "name" => "test_course1", "exercises" => [{"name" => "test_ex1"}, {"name" => "test_ex2"}]}] }
    output = mock("output")
    output.expects(:puts).with("test_ex1")
    output.expects(:puts).with("test_ex2")
    subject.output = output
    subject.list_exercises("test_course1")
  end
end