def test_stop_end_time():
    obj = TimeRecordFactory(end_time=None)
    assert obj.end_time is None
    end_time = datetime(2014, 10, 1, 18, 13, 32, tzinfo=pytz.utc)
    obj.stop(end_time)
    assert end_time == obj.end_time
def test_stop_already_stopped():
    end_time = datetime(2014, 10, 1, 18, 13, 32, tzinfo=pytz.utc)
    obj = TimeRecordFactory(end_time=end_time)
    with pytest.raises(InvoiceError) as e:
        obj.stop()
    assert 'has already been stopped' in str(e.value)
def test_stop():
    obj = TimeRecordFactory(end_time=None)
    assert obj.end_time is None
    obj.stop()
    assert obj.end_time is not None