192 lines
6.7 KiB
JavaScript
192 lines
6.7 KiB
JavaScript
// var nightwatch = require('nightwatch');
|
|
|
|
describe('clinical:active-entry', function () {
|
|
var server = meteor();
|
|
var client = browser(server);
|
|
|
|
// before(function () {
|
|
// return server.promise(function (resolve){
|
|
// Meteor.users.find().forEach(function(user){
|
|
// Meteor.users.remove({_id: user._id});
|
|
// }, function(){
|
|
// resolve();
|
|
// });
|
|
// });
|
|
// });
|
|
|
|
// afterEach(function (){
|
|
// return client.promise(function (resolve){
|
|
// Meteor.logout(function(error, result){
|
|
// resolve();
|
|
// });
|
|
// });
|
|
// });
|
|
|
|
|
|
it("ActiveEntry object should be loaded on client and server", function () {
|
|
return server.execute(function () {
|
|
expect(ActiveEntry.isAbc()).to.equal('abc');
|
|
}).then(function (data){
|
|
return client.execute(function (a) {
|
|
expect(ActiveEntry.isAbc()).to.equal('abc');
|
|
});
|
|
});
|
|
});
|
|
|
|
it("Error messages should be empty by default", function () {
|
|
return client.execute(function () {
|
|
expect(ActiveEntry.errorMessages.get('signInError')).to.equal(false);
|
|
});
|
|
});
|
|
|
|
// ActiveEntry.verifyEmail
|
|
it('Email validation confirms it is a properly formatted email.', function () {
|
|
return client.execute(function (a) {
|
|
ActiveEntry.verifyEmail('janedoe@somewhere.com');
|
|
expect(ActiveEntry.successMessages.get('email')).to.equal("Email present");
|
|
|
|
ActiveEntry.verifyEmail('');
|
|
expect(ActiveEntry.errorMessages.get('email')).to.equal("Email is required");
|
|
|
|
ActiveEntry.verifyEmail('janedoe.somewhere.com');
|
|
expect(ActiveEntry.errorMessages.get('email')).to.equal("Email is poorly formatted");
|
|
});
|
|
});
|
|
|
|
|
|
// ActiveEntry.verifyPassword
|
|
it('Password validation confirms it is a properly formatted password.', function () {
|
|
return client.execute(function (a) {
|
|
ActiveEntry.verifyPassword('');
|
|
expect(ActiveEntry.errorMessages.get('password')).to.equal("Password is required");
|
|
|
|
ActiveEntry.verifyPassword('kittens');
|
|
expect(ActiveEntry.errorMessages.get('password')).to.equal("Password is invalid");
|
|
|
|
ActiveEntry.verifyPassword('K1tt#ns123');
|
|
expect(ActiveEntry.successMessages.get('password')).to.equal("Password present");
|
|
});
|
|
});
|
|
|
|
// ActiveEntry.verifyConfirmPassword
|
|
it('Password match validation confirms that two passwords are the same.', function () {
|
|
return client.execute(function (a) {
|
|
ActiveEntry.verifyConfirmPassword('K1tt#ns123', 'K1tt#ns123');
|
|
expect(ActiveEntry.successMessages.get('confirm')).to.equal("Passwords match");
|
|
});
|
|
});
|
|
|
|
// ActiveEntry.verifyFullName
|
|
it('Fullname validation confirms that at least a first and last name are entered.', function () {
|
|
return client.execute(function (a) {
|
|
ActiveEntry.verifyFullName('');
|
|
expect(ActiveEntry.errorMessages.get('fullName')).to.equal("Name is required");
|
|
|
|
ActiveEntry.verifyFullName('Jane');
|
|
expect(ActiveEntry.errorMessages.get('fullName')).to.equal("Name is probably not complete");
|
|
|
|
ActiveEntry.verifyFullName('Jane Doe');
|
|
expect(ActiveEntry.successMessages.get('fullName')).to.equal("Name present");
|
|
});
|
|
});
|
|
|
|
|
|
// ActiveEntry.signIn
|
|
it('Newly created user record should have role, profile, and name set.', function () {
|
|
return client.execute(function () {
|
|
ActiveEntry.signUp('janedoe@test.org', 'janedoe123', 'janedoe123', 'Jane Doe');
|
|
expect(ActiveEntry.errorMessages.get('fullName')).to.equal("Name present");
|
|
}).then(function (){
|
|
return server.wait(300, 'until account is created on the server', function () {
|
|
return Meteor.users.findOne({'emails.address': 'janedoe@test.org'});
|
|
}).then(function (user){
|
|
expect(user.role).to.equal('user');
|
|
expect(user.profile.fullName).to.equal('Jane Doe');
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
it("Newly created user should have fullName(), preferredName(), and familyName() methods.", function () {
|
|
return server.execute(function () {
|
|
var user = Meteor.users.findOne({'emails.address': 'janedoe@test.org'});
|
|
expect(user).to.be.ok;
|
|
expect(user.fullName()).to.equal('Jane Doe');
|
|
expect(user.givenName()).to.equal('Jane');
|
|
expect(user.familyName()).to.equal('Doe');
|
|
}).then(function(){
|
|
// client.wait(500, "until user is logged out", function(){
|
|
// Meteor.logout();
|
|
// });
|
|
return client.promise(function (resolve){
|
|
Meteor.logout(function(error, result){
|
|
resolve();
|
|
});
|
|
});
|
|
|
|
});
|
|
});
|
|
it("Newly created user can sign in to the application.", function () {
|
|
return client.execute(function () {
|
|
expect(Meteor.userId()).to.not.exist;
|
|
ActiveEntry.signIn('janedoe@test.org', 'janedoe123');
|
|
}).then(function (){
|
|
client.wait(3000, "for user to sign in", function (){
|
|
expect(Meteor.userId()).to.exist;
|
|
});
|
|
});
|
|
});
|
|
it("Newly created user can sign out of the application.", function () {
|
|
return client.execute(function () {
|
|
expect(Meteor.userId()).to.not.exist;
|
|
ActiveEntry.signIn('janedoe@test.org', 'janedoe123');
|
|
}).then(function (){
|
|
client.wait(3000, "for user to sign in", function (){
|
|
expect(Meteor.userId()).to.exist;
|
|
ActiveEntry.signOut('janedoe@test.org');
|
|
}).then(function (){
|
|
expect(Meteor.userId()).to.not.exist;
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
// it("config should be able to change company logo", function () {
|
|
//
|
|
// });
|
|
// it("config should be able to change entry message text", function () {
|
|
//
|
|
// });
|
|
|
|
// it("new user should be able to register on desktop", function () {
|
|
// client.location = "/sign-in";
|
|
//
|
|
// client.execute(function () {
|
|
// expect($('#entrySignIn')).to.exist();
|
|
// expect($('#signInPageEmailInput')).to.exist();
|
|
// expect($('#signInPagePasswordInput')).to.exist();
|
|
// expect($('#signInToAppButton')).to.exist();
|
|
// }).setValue('#signInPageEmailInput', 'house@test.org')
|
|
// .setValue('#signInPagePasswordInput', 'house@test.org')
|
|
// .click('#signInToAppButton').execute(function(){
|
|
// expect($('#entrySignIn')).to.exist();
|
|
// expect($('#signInPageEmailInput')).to.exist();
|
|
// expect($('#signInPagePasswordInput')).to.exist();
|
|
// expect($('#signInToAppButton')).to.exist();
|
|
// // expect($('#entrySignIn')).to.not.exist();
|
|
// // expect($('#signInPageEmailInput')).to.not.exist();
|
|
// // expect($('#signInPagePasswordInput')).to.not.exist();
|
|
// // expect($('#signInToAppButton')).to.not.exist();
|
|
// });
|
|
// // .then(function(data){
|
|
// // return server.execute(3000, 'until the account is created', function () {
|
|
// // expect(Meteor.users.find().count()).to.be.above(20);
|
|
// // });
|
|
// // });
|
|
// });
|
|
|
|
|
|
});
|