Add tests and improve logic

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
Dmitriy Zaporozhets 2015-07-06 16:47:19 +02:00
parent b28714b6a9
commit 603ceea21a
No known key found for this signature in database
GPG key ID: 161B5D6A44D3D88A
2 changed files with 18 additions and 5 deletions

View file

@ -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

View file

@ -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