root/GearsORM/trunk/tests/test_transaction.html

Revision 338, 1.6 kB (checked in by uriel, 15 months ago)

*added events to model classes
*added test for model events
*small cleanup in model constructor

Line 
1<html>
2        <head>
3                <script src="../gears_init.js"></script>
4                <script src="../GearsORM.js"></script>
5                <script src="../GearsORM.Events.js"></script>
6                <script src="../GearsORM.ResultIterator.js"></script>
7                <script src="../GearsORM.Sql.js"></script>
8                <script src="../GearsORM.Fields.js"></script>
9                <script src="../GearsORM.Model.js"></script>
10                <script src="../GearsORM.Introspection.js"></script>
11                <script src="../GearsORM.Transaction.js"></script>
12                <script>
13                        GearsORM.dbName = "test.simple1";
14                        var Person = new GearsORM.Model({
15                                name:"Person",
16                                fields:
17                                {
18                                        firstName:new GearsORM.Fields.String({maxLength:25}),
19                                        lastName:new GearsORM.Fields.String({maxLength:25})
20                                }
21                        });
22                       
23                        var Tests =
24                        {
25                                up:function()
26                                {
27                                        Person.dropTable();
28                                        Person.createTable();
29                                },
30                                "test a lot of insert in transaction":function()
31                                {
32                                         GearsORM.Transaction(function()
33                                         {
34                                                for(var i=0;i<100;i++)
35                                                        new Person({firstName:"test",lastName:"test"}).save();
36                                         });
37                                         UnitTest.assertEqual(100,Person.select().toArray().length);
38                                },
39                                "test a lot of update in transaction":function()
40                                {
41                                        var person = Person.select().getOne();
42                                        GearsORM.Transaction(function()
43                                        {
44                                                for(var i=0;i<100;i++)
45                                                {
46                                                        person.firstName = i.toString();
47                                                        person.save();
48                                                }
49                                        });
50                                        UnitTest.assertEqual("99",Person.select().getOne().firstName);
51                                },
52                                down:function()
53                                {
54                                        Person.dropTable();
55                                }
56                        };
57                </script>
58                <script src="unit_test.js"></script>
59        </head>
60        <body>
61               
62        </body>
63</html>
Note: See TracBrowser for help on using the browser.