summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-07-06 16:47:19 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-07-06 16:47:19 +0200
commit603ceea21a0144ff1900106efa0c17e759eeceef (patch)
tree70a931af89834516544ec6769f827dadd7f62c10
parentb28714b6a9bf71fac64a0423091fb7eab244fd7f (diff)
downloadgitlab-ce-603ceea21a0144ff1900106efa0c17e759eeceef.tar.gz
Add tests and improve logic
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--lib/api/settings.rb3
-rw-r--r--spec/requests/api/settings_spec.rb20
2 files changed, 18 insertions, 5 deletions
diff --git a/lib/api/settings.rb b/lib/api/settings.rb
index 4aa81bf8bab..c885fcd7ea3 100644
--- a/lib/api/settings.rb
+++ b/lib/api/settings.rb
@@ -4,7 +4,8 @@ module API
helpers do
def current_settings
- @current_setting ||= ApplicationSetting.current
+ @current_setting ||=
+ (ApplicationSetting.current || ApplicationSetting.create_from_defaults)
end
end
diff --git a/spec/requests/api/settings_spec.rb b/spec/requests/api/settings_spec.rb
index 2ab31c6a10a..c815a8e1d73 100644
--- a/spec/requests/api/settings_spec.rb
+++ b/spec/requests/api/settings_spec.rb
@@ -7,11 +7,23 @@ describe API::API, 'Settings', api: true do
let(:admin) { create(:admin) }
- describe "GET /applicaiton/settings" do
- # TODO: Implement
+ describe "GET /application/settings" do
+ it "should return application settings" do
+ get api("/application/settings", admin)
+ expect(response.status).to eq(200)
+ expect(json_response).to be_an Hash
+ expect(json_response['default_projects_limit']).to eq(42)
+ expect(json_response['signin_enabled']).to be_truthy
+ end
end
- describe "PUT /applicaiton/settings" do
- # TODO: Implement
+ describe "PUT /application/settings" do
+ it "should update application settings" do
+ put api("/application/settings", admin),
+ default_projects_limit: 3, signin_enabled: false
+ expect(response.status).to eq(200)
+ expect(json_response['default_projects_limit']).to eq(3)
+ expect(json_response['signin_enabled']).to be_falsey
+ end
end
end