Adding tests for frontRegApp.js
authorSteve Sutton <ssutton@gmail.com>
Fri, 20 Oct 2017 01:17:22 +0000 (21:17 -0400)
committerSteve Sutton <ssutton@gmail.com>
Fri, 20 Oct 2017 01:17:22 +0000 (21:17 -0400)
Adding test for regClass, regEvent, cart models.

js/frontRegApp.js
js/models/front/account.js
tests/js/spec/models/account.spec.js
tests/js/spec/models/cart.spec.js [new file with mode: 0644]
tests/js/spec/models/regClass.spec.js [new file with mode: 0644]
tests/js/spec/models/regEvent.spec.js [new file with mode: 0644]
tests/test.html

index 4b1e55e..6d34363 100644 (file)
@@ -5,7 +5,7 @@ app.Models.Front.Account = Backbone.Model.extend({
 
     // Default registrant values
     defaults: {
-        id: '',
+        id: 0,
         name: 'AppAccount',
         fname: '',
         lname: '',
index 77aa868..da45b24 100644 (file)
@@ -5,7 +5,7 @@ app.Models.Front.Account = Backbone.Model.extend({
 
     // Default registrant values
     defaults: {
-        id: '',
+        id: 0,
         name: 'AppAccount',
         fname: '',
         lname: '',
index 108fe62..578f8e6 100644 (file)
@@ -1,9 +1,13 @@
 describe('app.Front.Models.Account', function(){
-    it("has default valies", function(){
+    it("has default values", function(){
         var model = new app.Models.Front.Account({});
 
         expect(model).to.be.ok;
         expect(model.get('name')).to.equal('AppAccount');
+        expect(model.get('id')).to.equal(0);
+        expect(model.get('fname')).to.equal('');
+        expect(model.get('lname')).to.equal('');
+        expect(model.get('email')).to.equal('');
         expect(model.get('validated')).to.equal(false);
     });
 
@@ -16,6 +20,7 @@ describe('app.Front.Models.Account', function(){
             validated: true
         });
 
+        expect(model.get('id')).to.equal(1);
         expect(model.get('fname')).to.equal('Test');
         expect(model.get('lname')).to.equal('Person');
         expect(model.get('email')).to.equal('test@person.com');
diff --git a/tests/js/spec/models/cart.spec.js b/tests/js/spec/models/cart.spec.js
new file mode 100644 (file)
index 0000000..ac6e728
--- /dev/null
@@ -0,0 +1,29 @@
+describe('app.Front.Models.Cart', function(){
+    it('has default values', function(){
+        var model = new app.Models.Front.Cart({});
+
+        expect(model).to.be.ok;
+        expect(model.get('name')).to.equal('cart');
+        expect(model.get('id')).to.equal(0);
+        expect(model.get('status')).to.equal(null);
+        expect(model.get('errorMsg')).to.equal('');
+    });
+
+    it('sets passed attributes', function(){
+        var model = new app.Models.Front.Cart({
+            id: 1,
+            status: null,
+            errorMsg: '',
+            notes: [],
+            accounts: [],
+            times: [],
+            request: {},
+            events: [],
+        });
+
+        expect(model.get('name')).to.equal('cart');
+        expect(model.get('id')).to.equal(1);
+        expect(model.get('status')).to.equal(null);
+        expect(model.get('errorMsg')).to.equal('');
+    });
+});
diff --git a/tests/js/spec/models/regClass.spec.js b/tests/js/spec/models/regClass.spec.js
new file mode 100644 (file)
index 0000000..c791d49
--- /dev/null
@@ -0,0 +1,42 @@
+describe('app.Front.Models.RegClass', function(){
+    it('has default values', function(){
+        var model = new app.Models.Front.RegClass({});
+
+        expect(model).to.be.ok;
+        expect(model.get('name')).to.equal('regClass');
+        expect(model.get('reg_event')).to.equal(0);
+        expect(model.get('id')).to.equal(0);
+        expect(model.get('descr')).to.equal('');
+        expect(model.get('reg_rate_id')).to.equal(0);
+        expect(model.get('reg_rate_name')).to.equal('');
+        expect(model.get('reg_rate_base_price')).to.equal('');
+        expect(model.get('reg_rate_per_reg')).to.equal('');
+        expect(model.get('reg_count')).to.equal(0);
+        expect(model.get('loggedIn')).to.equal(false);
+    });
+
+    it('sets passed attributes', function(){
+        var model = new app.Models.Front.RegClass({
+            id: 1,
+            reg_event: 1,
+            descr: 'Sample description',
+            reg_rate_id: 1,
+            reg_rate_name: 'Early Bird',
+            reg_rate_base_price: '100',
+            reg_rate_per_reg: '10',
+            reg_count: 0,
+            loggedIn: true
+        });
+
+        expect(model.get('name')).to.equal('regClass');
+        expect(model.get('reg_event')).to.equal(1);
+        expect(model.get('id')).to.equal(1);
+        expect(model.get('descr')).to.equal('Sample description');
+        expect(model.get('reg_rate_id')).to.equal(1);
+        expect(model.get('reg_rate_name')).to.equal('Early Bird');
+        expect(model.get('reg_rate_base_price')).to.equal('100');
+        expect(model.get('reg_rate_per_reg')).to.equal('10');
+        expect(model.get('reg_count')).to.equal(0);
+        expect(model.get('loggedIn')).to.equal(true);
+    });
+});
diff --git a/tests/js/spec/models/regEvent.spec.js b/tests/js/spec/models/regEvent.spec.js
new file mode 100644 (file)
index 0000000..12ef240
--- /dev/null
@@ -0,0 +1,40 @@
+describe('app.Front.Models.RegEvent', function(){
+    it('has default values', function(){
+        var model = new app.Models.Front.RegEvent({});
+
+        expect(model).to.be.ok;
+        expect(model.get('name')).to.equal('regEvent');
+        expect(model.get('event_name')).to.equal('');
+        expect(model.get('event_code')).to.equal('');
+        expect(model.get('descr')).to.equal('');
+        expect(model.get('attendee_max')).to.equal(0);
+        expect(model.get('attendee_max_per_reg')).to.equal(0);
+        expect(model.get('reg_hold_minutes')).to.equal(0);
+        expect(model.get('cart_hold_days')).to.equal(0);
+        expect(model.get('terms')).to.equal('');
+    });
+
+    it('sets passed attributes', function(){
+        var model = new app.Models.Front.RegEvent({
+            id: 1,
+            event_name: 'Test Event',
+            event_code: '4209',
+            descr: 'Sample event',
+            attendee_max: 100,
+            attendee_max_per_reg: 5,
+            reg_hold_minutes: 60,
+            cart_hold_days: 1,
+            terms: 'terms'
+        });
+
+        expect(model.get('name')).to.equal('regEvent');
+        expect(model.get('event_name')).to.equal('Test Event');
+        expect(model.get('event_code')).to.equal('4209');
+        expect(model.get('descr')).to.equal('Sample event');
+        expect(model.get('attendee_max')).to.equal(100);
+        expect(model.get('attendee_max_per_reg')).to.equal(5);
+        expect(model.get('reg_hold_minutes')).to.equal(60);
+        expect(model.get('cart_hold_days')).to.equal(1);
+        expect(model.get('terms')).to.equal('terms');
+    });
+});
index 7b41eaa..1fc7d60 100644 (file)
     <!-- Ch02 -->
     <script src="js/spec/namespace.spec.js"></script>
     <script src="js/spec/models/account.spec.js"></script>
+    <script src="js/spec/models/regClass.spec.js"></script>
+    <script src="js/spec/models/cart.spec.js"></script>
+    <script src="js/spec/models/regEvent.spec.js"></script>
 
   </body>
 </html>