Skip to content

Instantly share code, notes, and snippets.

@bramcordie
Last active November 2, 2015 13:55
Show Gist options
  • Save bramcordie/691dfd04fba51002aa38 to your computer and use it in GitHub Desktop.
Save bramcordie/691dfd04fba51002aa38 to your computer and use it in GitHub Desktop.
describe('Membership Viewer', function () {
var membershipViewer, membershipService;
beforeEach(function () {
membershipService = jasmine.createSpyObj('membershipService', ['getMembers']);
membershipViewer = new MembershipViewer(membershipService);
});
it('should display a list of group members', function() {
var members = ['Alice', 'Bob'];
membershipService.getMembers.and.returnValue($q.resolve(members));
membershipViewer.showMembers('a-group-id');
$scope.$apply();
expect(membershipService.getMembers).toHaveBeenCalledWith('a-group-id');
expect(membershipViewer.members).toEqual(members);
});
it('should dislay an error when unable to retrieve group members', function () {
var asyncError = "Unknown group id!";
membershipService.getMembers.and.returnValue($q.reject(asyncError));
membershipViewer.showMembers('unknown-group-id');
$scope.$apply();
expect(membershipService.getMembers.toHaveBeenCalledWith('unknown-group-id');
expect(membershipViewer.error).toEqual(asyncError);
});
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment