diff options
author | Thibaut Girka <thib@sitedethib.com> | 2019-01-02 13:45:18 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2019-01-02 15:36:53 +0100 |
commit | 571d219bb917cefcca7419a0ad4e3889689d5f6a (patch) | |
tree | 6ab91adcb2c164fd027708e58f5fb96c52474007 /spec/controllers | |
parent | b300948526d967aaf5608c93546ee0d54940c0ef (diff) | |
parent | 66436d08959998be20c6c6bf631177d8c1f3e0d1 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts manually resolved: - app/services/post_status_service.rb - config/locales/simple_form.pl.yml - config/routes.rb - config/webpack/loaders/sass.js - config/webpack/shared.js - package.json - yarn.lock
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/api/v1/accounts_controller_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/controllers/api/v1/accounts_controller_spec.rb b/spec/controllers/api/v1/accounts_controller_spec.rb index c506fb5f0..f5f65c000 100644 --- a/spec/controllers/api/v1/accounts_controller_spec.rb +++ b/spec/controllers/api/v1/accounts_controller_spec.rb @@ -19,6 +19,40 @@ RSpec.describe Api::V1::AccountsController, type: :controller do end end + describe 'POST #create' do + let(:app) { Fabricate(:application) } + let(:token) { Doorkeeper::AccessToken.find_or_create_for(app, nil, 'read write', nil, false) } + let(:agreement) { nil } + + before do + post :create, params: { username: 'test', password: '12345678', email: 'hello@world.tld', agreement: agreement } + end + + context 'given truthy agreement' do + let(:agreement) { 'true' } + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it 'returns a new access token as JSON' do + expect(body_as_json[:access_token]).to_not be_blank + end + + it 'creates a user' do + user = User.find_by(email: 'hello@world.tld') + expect(user).to_not be_nil + expect(user.created_by_application_id).to eq app.id + end + end + + context 'given no agreement' do + it 'returns http unprocessable entity' do + expect(response).to have_http_status(422) + end + end + end + describe 'GET #show' do let(:scopes) { 'read:accounts' } |