UNPKG

chocolate

Version:

A full stack Node.js web framework built using Coffeescript

130 lines (126 loc) 3.85 kB
// Generated by CoffeeScript 1.12.6 (function() { var Interface; Interface = require('../../general/locco/interface'); describe('Interface', function() { it('should create an Interface', function() { return expect((new Interface) instanceof Interface).toBeTruthy(); }); it('should know Interface.Reaction', function() { return expect((new Interface.Reaction) instanceof Interface.Reaction).toBeTruthy(); }); it('get a reply from a simple Interface', function() { var result, service; service = new Interface(function() { return 'done'; }); result = null; runs(function() { return service.submit().subscribe(function(reaction) { return result = reaction.bin; }); }); waitsFor((function() { return result != null; }), 10); return runs(function() { return expect(result).toBe('done'); }); }); it('standard Interface.Web.Html with default values', function() { var result, service; service = new Interface.Web.Html({ defaults: { name: 'me', place: 'York' }, render: function(arg) { var name, place; name = arg.name, place = arg.place; return text("hello " + (name.join != null ? name.join(' ') : name) + " in " + place); } }); result = null; runs(function() { return service.submit().subscribe(function(reaction) { var ref; return result = (ref = reaction.bin) != null ? typeof ref.render === "function" ? ref.render() : void 0 : void 0; }); }); waitsFor((function() { return result != null; }), 1000); return runs(function() { return expect(result).toBe('hello me in York'); }); }); it('standard Interface.Web.Html with params', function() { var result, service; service = new Interface.Web.Html({ defaults: { name: 'me', place: 'York' }, render: function(arg) { var name, place; name = arg.name, place = arg.place; return text("hello " + (name.join != null ? name.join(' ') : name) + " in " + place); } }); result = null; runs(function() { return service.submit({ name: 'you', place: 'London' }).subscribe(function(reaction) { var ref; return result = (ref = reaction.bin) != null ? typeof ref.render === "function" ? ref.render() : void 0 : void 0; }); }); waitsFor((function() { return result != null; }), 1000); return runs(function() { return expect(result).toBe('hello you in London'); }); }); return it('check values with standard Interface.Web.Html and params', function() { var result, service; service = new Interface.Web.Html({ defaults: { name: 'me', place: 'York' }, check: function(arg) { var name; name = arg.name; if (name === 'JC') { return false; } else { return true; } }, render: function(arg) { var name, place; name = arg.name, place = arg.place; return text("hello " + (name.join != null ? name.join(' ') : name) + " in " + place); } }); result = null; runs(function() { return service.submit({ name: 'JC', place: 'London' }).subscribe(function(reaction) { return result = reaction.bin; }); }); waitsFor((function() { return result != null; }), 1000); return runs(function() { return expect(result).toBe(''); }); }); }); }).call(this);