summaryrefslogtreecommitdiff
path: root/spec/javascripts/models
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-03 19:36:11 -0600
committermo <mo.khan@gmail.com>2017-09-03 19:36:11 -0600
commit11cd3aba0c073a5cf9c65a4aa6acd9082a521246 (patch)
treebd4fae8bbd6e87c5dabbf6538cb04d9ae628c58a /spec/javascripts/models
parent168716b78cf4d128d73885f875c4bb6d03caf06b (diff)
change autoview to lookup by path rather than key.
Diffstat (limited to 'spec/javascripts/models')
-rw-r--r--spec/javascripts/models/cake_spec.js.coffee40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/javascripts/models/cake_spec.js.coffee b/spec/javascripts/models/cake_spec.js.coffee
new file mode 100644
index 00000000..4223a255
--- /dev/null
+++ b/spec/javascripts/models/cake_spec.js.coffee
@@ -0,0 +1,40 @@
+describe "CakeSide.Models.Cake", ->
+ subject = (attributes) ->
+ new CakeSide.Models.Cake(attributes)
+
+ describe "#validate", ->
+ it "returns an error when the name is null", ->
+ attributes =
+ name: null
+ cake = subject(attributes)
+ expect(cake.validate(attributes, {})).not.toBe(null)
+ expect(cake.isValid()).toBeFalsy()
+
+ it "returns an error when the name is blank", ->
+ attributes =
+ name: ' '
+ cake = subject(attributes)
+ expect(cake.validate(attributes, {})).not.toBe(null)
+ expect(cake.isValid()).toBeFalsy()
+
+
+ it 'returns an error when the category is blank', ->
+ attributes =
+ name: 'hi'
+ category_id: null
+ cake = subject(attributes)
+ expect(cake.validate(attributes)).not.toBe(null)
+ expect(cake.isValid()).toBeFalsy()
+
+ it 'is valid when a name and category is specified', ->
+ attributes =
+ name: 'hi'
+ category_id: 1
+ cake = subject(attributes)
+ expect(cake.validate(attributes)).toBeUndefined()
+ expect(cake.isValid()).toBeTruthy()
+
+ describe "#public_url", ->
+ it "returns the correct url", ->
+ result = subject(slug: '123-cake').public_url()
+ expect(result).toMatch(/^http:\/\/.+\/creations\/123-cake$/)