import { Validator } from '../../src/validation/Validator'; import { Post } from './Post'; let validator = new Validator(); let post1 = new Post(); post1.title = 'Hello world'; // should pass post1.text = 'this is a great post about hello world'; // should pass post1.rating = 10; // should pass post1.email = 'info@google.com'; // should pass post1.site = 'google.com'; // should pass post1.createDate = new Date(); // should pass validator.validate(post1, { groups: ['users'] }).then(result => { console.log('1.1. should pass: ', result); }); validator.validate(post1, { groups: ['admins'] }).then(result => { console.log('1.2. should pass: ', result); }); let post2 = new Post(); post2.title = 'Hi!'; // should not pass for user or moderator, but should pass for admin post2.text = 'this is a great post about hello world'; // should pass post2.rating = 10; // should pass post2.email = 'info@google.com'; // should pass post2.site = 'google.com'; // should pass post2.createDate = new Date(); // should pass validator.validate(post2, { groups: ['users'] }).then(result => { console.log('2.1. should not pass: ', result); }); validator.validate(post2, { groups: ['moderators'] }).then(result => { console.log('2.2. should not pass: ', result); }); validator.validate(post2, { groups: ['admins'] }).then(result => { console.log('2.3. should pass: ', result); }); validator.validate(post2, { groups: ['users', 'admins'] }).then(result => { console.log('2.4. should not pass: ', result); }); let post3 = new Post(); post3.title = 'Hello world'; // should not pass for user or moderator, but should pass for admin post3.text = 'this is a great post about hello world'; // should pass post3.rating = 10; // should pass post3.email = 'info@google.com'; // should pass post3.site = 'google.com'; // should pass // note that we dont set date validator.validate(post3, { groups: ['users'] }).then(result => { console.log('3.1. should pass: ', result); }); validator.validate(post3).then(result => { console.log('3.2. should not pass: ', result); }); let post4 = new Post(); post4.title = 'Hello world'; // should not pass for user or moderator, but should pass for admin post4.text = 'this is a great post about hello world'; // should pass post4.rating = 10; // should pass post4.email = ''; // should not pass post4.site = 'google.com'; // should pass // note that we dont set date validator.validate(post4, { groups: ['users'] }).then(result => { console.log('4.1. should not pass: ', result); }); validator.validate(post4).then(result => { console.log('4.2. should not pass: ', result); });