UNPKG

1.49 kBJavaScriptView Raw
1var describe = require('Jody').describe,
2 assert =require('assert'),
3 Model = require('../lib/index');
4
5describe('Save callback',function (spec) {
6 spec.beforeAll(function (done) {
7 Model.define('Blog',{title: String,
8 post: String,
9 url: String
10 });
11
12 Model.load(function () {
13
14 done();
15 });
16 })
17
18
19 spec.it("should called beforeSave before Save", function (async) {
20 var Blog = Model('Blog');
21 console.log("hello fromsave");
22
23 Blog.beforeSave(function (blog ) {
24 blog.url = blog.title.split(' ').join('-');
25 });
26
27 var blog_post = Blog.create({title: "hello world", post:"My first demo post"});
28
29 blog_post.save(async(function (err, saved_blog_post) {
30 saved_blog_post.url.should().beEqual("hello-world");
31 }));
32
33 })
34
35 spec.it("Should call afterSave after save", function (async) {
36 var Blog = Model('Blog');
37
38 Blog.afterSave(function (blog) {
39 assert.notEqual(blog.id,null);
40 });
41
42 var blog_post = Blog.create({title: "hello again", post:"My 2nd demo post"});
43 blog_post.save();
44
45 })
46
47 spec.it("Should not fire for different model", function (async) {
48 var Blog2 = Model.define('Blog2',{title: String,
49 post: String,
50 url: String
51 });
52
53 var blog_post = Blog2.create({title: "hello world", post:"My first demo post",url:"boom"});
54
55 blog_post.save(async(function (err, saved_blog_post) {
56 saved_blog_post.url.should().beEqual("boom");
57 }));
58
59
60
61 });
62
63});
64
65
66