UNPKG

1.56 kBJavaScriptView Raw
1'use strict';
2require('./bootstrap');
3
4describe('ORM', function() {
5
6 let Post = ORM.models.post;
7 let User = ORM.models.user;
8 let Tag = ORM.models.tag;
9
10 it('should', function(done) {
11
12 let post;
13
14 // Create
15 Promise.resolve()
16
17 .then(() => {
18 return Post.create({
19 title: 'Hel rld',
20 type: 'ordered',
21 tags: [
22 { name: 'red' },
23 ],
24 user: {
25 fullname: 'red person',
26 email: 'red@asgmail.com',
27 username: 'red',
28 password: 'password'
29 }
30 });
31 })
32
33 // Update
34 .then((model) => {
35 console.log('CREATE', model);
36 post = model;
37 return Post.update({ id: post.id }, {
38 title: 'Updated Title!'
39 });
40 })
41
42 // Find
43 .then((model) => {
44 console.log('UPDATE', model);
45 return Post.find({
46 title: 'Updated Title!',
47 tags: [
48 { name: 'red' },
49 ]
50 });
51 })
52
53 // Delete
54 .then((model) => {
55 console.log('FIND', model);
56 return Post.delete({ id: post.id });
57 })
58 .then((model) => {
59 console.log('DELETE', model);
60 return User.delete({ id: post.user.id });
61 })
62 .then((model) => {
63 console.log('DELETE', model);
64 return Tag.delete({ id: post.tags[0].id });
65 })
66 .then((model) => {
67 console.log('DELETE', model);
68 done();
69 })
70
71 // Error
72 .catch((error) => {
73 console.error(error);
74 done();
75 });
76
77 });
78
79});
\No newline at end of file