| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 | require 'test_helper'
class DayEntryTest < HCl::TestCase
  def test_all_today_empty
    register_uri(:get, '/daily', {projects:[],day_entries:[]})
    assert HCl::DayEntry.today.empty?
  end
  def test_all_today
    register_uri(:get, '/daily', {projects:[], day_entries:[{id:1,note:'hi'}]})
    assert_equal 'hi', HCl::DayEntry.today.first.note
  end
  def test_all_with_date
    register_uri(:get, '/daily/013/2013', {projects:[], day_entries:[{id:1,note:'hi'}]})
    assert_equal 'hi', HCl::DayEntry.daily(Date.civil(2013,1,13)).first.note
  end
  def test_toggle
    entry = HCl::DayEntry.new(id:123)
    register_uri(:get, '/daily/timer/123', {note:'hi'})
    entry.toggle
  end
  def test_cancel_success
    entry = HCl::DayEntry.new(id:123)
    HCl::DayEntry.expects(:delete)
    assert entry.cancel
  end
  def test_cancel_failure
    entry = HCl::DayEntry.new(id:123)
    HCl::DayEntry.expects(:delete).raises(HCl::HarvestMiddleware::Failure)
    assert !entry.cancel
  end
  def test_to_s
    entry = HCl::DayEntry.new \
      hours: '1.2', client: 'Taco Town', project:'Pizza Taco', task:'Preparation'
    assert_equal "Taco Town - Pizza Taco - Preparation (1:12)", entry.to_s
  end
  def test_append_note
    entry = HCl::DayEntry.new(:id => '1', :notes => 'yourmom.', :hours => '1.0')
    HCl::Net.stubs(:post)
    entry.append_note('hi world')
    assert_equal "yourmom.\nhi world", entry.notes
  end
  def test_append_note_to_empty
    entry = HCl::DayEntry.new(:id => '1', :notes => nil, :hours => '1.0')
    HCl::Net.stubs(:post)
    entry.append_note('hi world')
    assert_equal 'hi world', entry.notes
  end
end
 |