Skip to content

Commit

Permalink
Merge pull request #425 from nypublicradio/mwalsh/MEM-132
Browse files Browse the repository at this point in the history
MEM-132 Remove facebook login/signup
  • Loading branch information
walsh9 authored Mar 21, 2024
2 parents e9e4c11 + d84bcb6 commit 712ab41
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 134 deletions.
2 changes: 1 addition & 1 deletion app/templates/login.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@

{{nypr-account-forms/login
siteName='WQXR'
showSocialLogin=true
showSocialLogin=false
authAPI=config.authAPI}}
{{/account-wrapper}}
2 changes: 1 addition & 1 deletion app/templates/signup.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@
givenName=first
familyName=last
email=email
showSocialSignup=true
showSocialSignup=false
authAPI=config.authAPI}}
{{/account-wrapper}}
2 changes: 1 addition & 1 deletion app/templates/verify.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<div class="alert alert-success">Please log in to verify your email.</div>
{{nypr-account-forms/login
siteName='WQXR'
showSocialLogin=true
showSocialLogin=false
authAPI=config.authAPI}}
{{/if}}
{{/account-wrapper}}
68 changes: 2 additions & 66 deletions tests/acceptance/login-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ import {
currentSession
} from 'ember-simple-auth/test-support';
//import 'wqxr-web-client/tests/helpers/with-feature';
import dummySuccessProviderFb from 'wqxr-web-client/tests/helpers/torii-dummy-success-provider-fb';
import { registerMockOnInstance } from 'wqxr-web-client/tests/helpers/register-mock';

module('Acceptance | login', function(hooks) {
setupApplicationTest(hooks);
Expand Down Expand Up @@ -135,70 +133,8 @@ module('Acceptance | login', function(hooks) {

});

test('Log in with Facebook button is visible at load', async function(assert) {
test('Log in with Facebook button is not visible at load', async function(assert) {
await visit('/login');
assert.ok(find('button'));
});

test('Successful facebook login redirects', async function(assert) {
server.create('bucket', {slug: 'wqxr-home'});
server.create('django-page', {id: '/'});
let user = server.create('user', 'facebook');
let facebookProvider = this.owner.lookup('torii-provider:facebook-connect');
this.stub(facebookProvider, 'open').resolves({
accessToken: 'abcdef',
expiresIn: 6000,
userId: '123456',
provider: 'facebook-connect'
});
await visit('/login');

await click('button');

assert.equal(currentURL(), '/');
assert.ok(currentSession().get('isAuthenticated'), 'Session is authenticated');
assert.equal(find('.user-nav-greeting').textContent.trim(), user.given_name);
assert.equal(find('.user-nav-avatar > img').getAttribute('src'), user.picture);
});

test('Facebook login with no email shows alert', async function(assert) {
server.create('user');
registerMockOnInstance(this.owner, 'torii-provider:facebook-connect', dummySuccessProviderFb);
server.get('/v1/session', () => {
return new Response(400, {}, { "errors": {
"code": "MissingAttributeException",
"message": "A provider account could not be created because one or more attributes were not available from the provider. Permissions may have been declined.",
"values": ["email"] }
});
});

let facebookProvider = this.owner.lookup('torii-provider:facebook-connect');
this.stub(facebookProvider, 'open').resolves({
accessToken: 'abcdef',
expiresIn: 6000,
userId: '123456',
provider: 'facebook-connect'
});

await visit('/login');

await click('button');

assert.equal(currentURL(), '/login');
assert.equal(find('.alert-warning').textContent.trim(), "Unfortunately, we can't authorize your account without permission to view your email address.");
assert.ok(!currentSession(this.application).get('isAuthenticated'), 'Session is not authenticated');
});

test('Unsuccessful facebook login shows alert', async function(assert) {
let facebookProvider = this.owner.lookup('torii-provider:facebook-connect');
this.stub(facebookProvider, 'open').rejects({});

await visit('/login');

await click('button');

assert.equal(currentURL(), '/login');
assert.equal(find('.alert-warning').textContent.trim(), "We're sorry, but we weren't able to log you in through Facebook.");
assert.ok(!currentSession(this.application).get('isAuthenticated'), 'Session is not authenticated');
assert.notOk(find('button.account-form-btn--facebook'));
});
});
68 changes: 3 additions & 65 deletions tests/acceptance/signup-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,14 @@ import {
click,
fillIn,
currentURL,
currentRouteName,
visit
} from '@ember/test-helpers';
import { module } from 'qunit';
import test from 'ember-sinon-qunit/test-support/test';
import { setupApplicationTest } from 'ember-qunit';
import { Response } from 'ember-cli-mirage';
//import 'wqxr-web-client/tests/helpers/with-feature';
import {
authenticateSession,
currentSession
authenticateSession
} from 'ember-simple-auth/test-support';


Expand Down Expand Up @@ -75,67 +72,8 @@ module('Acceptance | signup', function(hooks) {
assert.equal(find('.account-form-heading').textContent.trim(), 'Thanks for signing up!');
});

test('Sign up with Facebook button is visible at load', async function(assert) {
test('Sign up with Facebook button is not visible at load', async function(assert) {
await visit(signupUrl);
assert.ok(find('button.account-form-btn--facebook'));

});

test('Successful facebook login redirects', async function(assert) {
server.create('bucket', {slug: 'wqxr-home'});
let user = server.create('user', 'facebook');
let facebookProvider = this.owner.lookup('torii-provider:facebook-connect');
this.stub(facebookProvider, 'open').resolves({
accessToken: 'abcdef',
expiresIn: 6000,
userId: '123456',
provider: 'facebook-connect'
});

await visit(signupUrl);
await click('button');

assert.ok(/^index(_loading)?$/.test(currentRouteName()));
assert.ok(currentSession().get('isAuthenticated'), 'Session is authenticated');
assert.equal(find('.user-nav-greeting').textContent.trim(), user.given_name);
assert.equal(find('.user-nav-avatar > img').getAttribute('src'), user.picture);
});

test('Facebook login with no email shows alert', async function(assert) {
server.create('user');
let facebookProvider = this.owner.lookup('torii-provider:facebook-connect');
this.stub(facebookProvider, 'open').resolves({
accessToken: 'abcdef',
expiresIn: 6000,
userId: '123456',
provider: 'facebook-connect'
});
server.get('/v1/session', () => {
return new Response(400, {}, { "errors": {
"code": "MissingAttributeException",
"message": "A provider account could not be created because one or more attributes were not available from the provider. Permissions may have been declined.",
"values": ["email"] }
});
});

await visit(signupUrl);

await click('button');

assert.equal(currentURL(), '/signup');
assert.equal(find('.alert-warning').textContent.trim(), "Unfortunately, we can't authorize your account without permission to view your email address.");
assert.ok(!currentSession().get('isAuthenticated'), 'Session is not authenticated');
});

test('Unsuccessful facebook login shows alert', async function(assert) {
let facebookProvider = this.owner.lookup('torii-provider:facebook-connect');
this.stub(facebookProvider, 'open').rejects();

await visit(signupUrl);
await click('button');

assert.equal(currentURL(), '/signup');
assert.equal(find('.alert-warning').textContent.trim(), "We're sorry, but we weren't able to log you in through Facebook.");
assert.ok(!currentSession().get('isAuthenticated'), 'Session is not authenticated');
assert.notOk(find('button.account-form-btn--facebook'));
});
});

0 comments on commit 712ab41

Please sign in to comment.