Skip to content

Commit

Permalink
Change signup title based on state
Browse files Browse the repository at this point in the history
  • Loading branch information
begedin committed Mar 23, 2017
1 parent 2c56652 commit 3514d25
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 6 deletions.
3 changes: 2 additions & 1 deletion app/routes/signup.js
Expand Up @@ -6,7 +6,8 @@ const {
get,
Route,
inject: { service },
set
set,
setProperties
} = Ember;

export default Route.extend(UnauthenticatedRouteMixin, {
Expand Down
6 changes: 3 additions & 3 deletions app/templates/components/signup-form.hbs
@@ -1,10 +1,10 @@
<div class="container">
<form>

{{#if donate}}
<h2>Join Code Corps today.</h2>
{{else}}
{{#if (eq user.state 'signed_up_donating')}}
<h2>Join Code Corps to continue.</h2>
{{else}}
<h2>Join Code Corps today.</h2>
{{/if}}

{{#auto-focus}}
Expand Down
27 changes: 25 additions & 2 deletions tests/integration/components/signup-form-test.js
@@ -1,9 +1,16 @@
import Ember from 'ember';
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
import PageObject from 'ember-cli-page-object';
import component from 'code-corps-ember/tests/pages/components/signup-form';

let page = PageObject.create(component);
const { run, set } = Ember;

const page = PageObject.create(component);

function renderPage() {
page.render(hbs`{{signup-form user=user}}`);
}

moduleForComponent('signup-form', 'Integration | Component | signup form', {
integration: true,
Expand All @@ -16,10 +23,26 @@ moduleForComponent('signup-form', 'Integration | Component | signup form', {
});

test('it renders required ui elements', function(assert) {
this.render(hbs`{{signup-form}}`);
assert.expect(4);

renderPage();

assert.ok(page.usernameInput.isVisible, 'The username field renders');
assert.ok(page.emailInput.isVisible, 'The email field renders');
assert.ok(page.passwordInput.isVisible, 'The password field renders');
assert.ok(page.signupButton.isVisible, 'The signup button renders');
});

test('renders different title if user is donating', function(assert) {
assert.expect(2);

renderPage();

let normalUser = { state: null };
let donatingUser = { state: 'signed_up_donating' };

run(() => set(this, 'user', normalUser));
assert.equal(page.title.text, 'Join Code Corps today.', 'Title is correct.');
run(() => set(this, 'user', donatingUser));
assert.equal(page.title.text, 'Join Code Corps to continue.', 'Title is correct.');
});
4 changes: 4 additions & 0 deletions tests/pages/components/signup-form.js
Expand Up @@ -5,6 +5,10 @@ import {
export default {
scope: '.signup-form',

title: {
scope: 'h2'
},

emailInput: {
scope: 'input[name=email]',
isVisible: isVisible()
Expand Down

0 comments on commit 3514d25

Please sign in to comment.