test/exercism/config_test.rb in exercism-0.0.7 vs test/exercism/config_test.rb in exercism-0.0.8
- old
+ new
@@ -1,48 +1,65 @@
require './test/test_helper'
class ConfigTest < MiniTest::Unit::TestCase
+ def path
+ './test/fixtures'
+ end
+
+ def key
+ '7a7096c'
+ end
+
def teardown
if File.exists?('./test/fixtures/.exercism')
FileUtils.rm('./test/fixtures/.exercism')
end
+
+ if File.exists?('./test/fixtures/some/project/dir')
+ FileUtils.rm_r('./test/fixtures/some')
+ end
end
def test_read_config_file
- path = './test/fixtures/home'
- key = '634abfb095ed621e1c793c9875fcd9fda455ea90'
- config = Exercism::Config.read(path)
+ config = Exercism::Config.read('./test/fixtures/home')
assert_equal 'alice', config.github_username
- assert_equal key, config.key
+ assert_equal '634abfb095ed621e1c793c9875fcd9fda455ea90', config.key
assert_equal '/tmp', config.project_dir
end
def test_write_config_file
- path = './test/fixtures'
- key = '7a7096c'
data = {
'github_username' => 'bob',
'key' => key,
- 'project_dir' => '/dev/null'
+ 'project_dir' => '/tmp'
}
config = Exercism::Config.write(path, data)
assert_equal 'bob', config.github_username
assert_equal key, config.key
- assert_equal '/dev/null', config.project_dir
+ assert_equal '/tmp', config.project_dir
end
def test_delete_config_file
- path = './test/fixtures'
- key = '7a7096c'
data = {
'github_username' => 'bob',
'key' => key,
'project_dir' => '/tmp'
}
config = Exercism::Config.write(path, data)
filename = config.file
config.delete
assert !File.exists?(filename)
+ end
+
+ def test_write_directory_if_missing
+ project_dir = './test/fixtures/some/project/dir'
+ data = {
+ 'github_username' => 'bob',
+ 'key' => key,
+ 'project_dir' => project_dir
+ }
+ Exercism::Config.write(path, data)
+ assert File.exist? project_dir
end
end