Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Meteor.methods({
- 'client.new':( clientDetails ) => {
- check( clientDetails, {
- name: String,
- numberTeamMembers: String
- });
- clientDetails.teamMembers = [];
- if(!Meteor.userId() || !Roles.userIsInRole(Meteor.userId(), 'administrator')) {
- throw new Meteor.Error('500', 'You are not authorised to do this.');
- }
- if(Clients.findOne({ name: clientDetails.name})) {
- throw new Meteor.Error('500', 'This client name already exists!');
- };
- return Clients.insert(clientDetails);
- },
- });
- import { Meteor } from 'meteor/meteor';
- import { expect, be } from 'meteor/practicalmeteor:chai';
- import { describe, it, before } from 'meteor/practicalmeteor:mocha';
- import { resetDatabase } from 'meteor/xolvio:cleaner';
- import { Random } from 'meteor/random';
- import { Clients } from '/imports/api/clients/clients.js';
- import '/imports/api/clients/server/methods.js';
- describe('Client Methods in API', function() {
- before(function() {
- resetDatabase();
- });
- it('can create a Client', function(){
- let clientName = "Microsoft",
- numberTeamMembers = "5",
- data = {
- name: clientName,
- numberTeamMembers: numberTeamMembers
- };
- let userId = Accounts.createUser({username: "admin", email: "admin@admin.com", password: "password"});
- Meteor.users.update({ _id: userId }, { $set: { roles: [ 'administrator' ] }});
- let method = Meteor.server.method_handlers['client.new'];
- method.apply(userId, [data]);
- let client = Clients.findOne();
- expect(Clients.find().count()).to.equal(1);
- expect(client.name).to.equal(clientName);
- expect(client.numberTeamMembers).to.equal(numberTeamMembers);
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement