Skip to content

Commit

Permalink
Naming and e2e testing improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasBurleson committed May 18, 2015
1 parent 20a75b5 commit 395ccb5
Show file tree
Hide file tree
Showing 9 changed files with 44 additions and 37 deletions.
6 changes: 3 additions & 3 deletions app/assets/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ md-list .md-button {
padding-top: 5px;
}

#content .md-button.share {
#content .md-button.contact {
background-color: transparent;
border: none;
width: 48px;
Expand All @@ -64,7 +64,7 @@ md-list .md-button {
margin-top: 10px;
}

#content .md-button.share > md-icon {
#content .md-button.contact > md-icon {
fill:black;
width:36px;
height:36px;
Expand All @@ -76,7 +76,7 @@ md-button.menuBtn > md-icon {
height:24px;
}

#content .md-button.share:active > md-icon {
#content .md-button.contact:active > md-icon {
background-color: #dadada;
border-radius: 75%;
padding:4px;
Expand Down
3 changes: 2 additions & 1 deletion app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ <h1>Angular Material - Starter App</h1>
<h2>{{ul.selected.name}}</h2>
<p>{{ul.selected.content}}</p>

<md-button class="share" md-no-ink ng-click="ul.share($event)" aria-label="Share">
<md-button class="contact" md-no-ink ng-click="ul.showContactOptions($event)" aria-label="Contact User">
<md-tooltip>Contact {{ ul.selected.name }}</md-tooltip>
<md-icon md-svg-icon="share"></md-icon>
</md-button>
</md-content>
Expand Down
14 changes: 7 additions & 7 deletions app/src/users/UserController.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
self.users = [ ];
self.selectUser = selectUser;
self.toggleList = toggleUsersList;
self.share = share;
self.showContactOptions = showContactOptions;

// Load all registered users

Expand Down Expand Up @@ -60,14 +60,14 @@
/**
* Show the bottom sheet
*/
function share($event) {
function showContactOptions($event) {
var user = self.selected;

$mdBottomSheet.show({
parent: angular.element(document.getElementById('content')),
templateUrl: '/src/users/view/contactSheet.html',
controller: [ '$mdBottomSheet', UserSheetController],
controllerAs: "vm",
controller: [ '$mdBottomSheet', ContactPanelController],
controllerAs: "cp",
bindToController : true,
targetEvent: $event
}).then(function(clickedItem) {
Expand All @@ -77,15 +77,15 @@
/**
* Bottom Sheet controller for the Avatar Actions
*/
function UserSheetController( $mdBottomSheet ) {
function ContactPanelController( $mdBottomSheet ) {
this.user = user;
this.items = [
this.actions = [
{ name: 'Phone' , icon: 'phone' , icon_url: 'assets/svg/phone.svg'},
{ name: 'Twitter' , icon: 'twitter' , icon_url: 'assets/svg/twitter.svg'},
{ name: 'Google+' , icon: 'google_plus' , icon_url: 'assets/svg/google_plus.svg'},
{ name: 'Hangout' , icon: 'hangouts' , icon_url: 'assets/svg/hangouts.svg'}
];
this.performAction = function(action) {
this.contactUser = function(action) {
$mdBottomSheet.hide(action);
};
}
Expand Down
6 changes: 3 additions & 3 deletions app/src/users/view/contactSheet.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<md-bottom-sheet class="md-list md-has-header">

<md-subheader>
Contact <span class="name">{{ vm.user.name }}</span>:
Contact <span class="name">{{ cp.user.name }}</span>:
</md-subheader>

<md-list>
<md-item ng-repeat="item in vm.items">
<md-button ng-click="vm.performAction(item)" id="item_{{$index}}">
<md-item ng-repeat="item in cp.actions">
<md-button ng-click="cp.contactUser(item)" id="item_{{$index}}">
<md-icon md-svg-icon="{{ item.icon_url }}"></md-icon>
{{item.name}}
</md-button>
Expand Down
17 changes: 17 additions & 0 deletions e2e/pages/ContactUser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
var ContactUser = function() {

this.load = function() {
return browser.get("/#");
};

this.buttons = function() {
return element.all(by.css('[ng-click="cp.contactWith(item)"]'));
};

this.focusedAction = function() {
return browser.driver.switchTo().activeElement().getText();
}
};

module.exports = ContactUser;

14 changes: 0 additions & 14 deletions e2e/pages/Share.js

This file was deleted.

2 changes: 1 addition & 1 deletion e2e/pages/UserDetails.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var UserDetails = function() {
this.load = function() { browser.get('/#'); };

this.contactUser = function() {
element(by.css('button.share')).click();
return $('button.contact').click();
};

};
Expand Down
17 changes: 10 additions & 7 deletions e2e/users/contactUsers.js → e2e/scenarios/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@

var UserList = require('../pages/UserList.js');
var UserDetails = require('../pages/UserDetails.js');
var Share = require('../pages/Share.js');
var ContactUser = require('../pages/ContactUser.js');

describe('my app', function() {

var users = new UserList();
var details = new UserDetails();
var share = new Share();
var contact = new ContactUser();

beforeEach(function() {

users.loadAll();
details.load();
share.load();

});

Expand All @@ -25,12 +24,16 @@ describe('my app', function() {
describe('selecting a user', function() {

beforeEach(function() {
details.contactUser();
return details.contactUser().then(function() {
return contact.load();
});
});

it('should set focus on first Share option in Contact Share view', function() {
share.actions().then(function(items) {
expect(items[0].getAttribute('id')).toEqual(share.focusedItem().getAttribute('id'));
it('should set focus on first button in the bottomsheet view', function() {
contact.buttons().then(function(items) {
expect( items.length ).toEqual( 4 );

expect( contact.focusedAction() ).toEqual( 'PHONE' );
});
});

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"license": "MIT",
"devDependencies": {
"karma": "~0.10",
"protractor": "^1.8.0",
"protractor": "^2.0.0",
"http-server": "^0.6.1",
"bower": "^1.3.1",
"shelljs": "^0.2.6",
Expand Down

0 comments on commit 395ccb5

Please sign in to comment.