summaryrefslogtreecommitdiff
path: root/spec/models/concerns/subscribable_spec.rb
diff options
context:
space:
mode:
authorTimothy Andrew <mail@timothyandrew.net>2016-02-12 20:28:39 +0530
committerRémy Coutable <remy@rymai.me>2016-03-15 17:25:37 +0100
commit0444fa560acd07255960284f19b1de6499cd5910 (patch)
tree005ce576bbe661242ee58c1e1ddebd9e665bd9ff /spec/models/concerns/subscribable_spec.rb
parent178c80a561fa10a157bae6e5d4682b232ae727c7 (diff)
downloadgitlab-ce-0444fa560acd07255960284f19b1de6499cd5910.tar.gz
Original implementation to allow users to subscribe to labels
1. Allow subscribing (the current user) to a label - Refactor the `Subscription` coffeescript class - The main change is that it accepts a container, and conducts all DOM queries within its scope. We need this because the labels page has multiple instances of `Subscription` on the same page. 2. Creating an issue or MR with labels notifies users subscribed to those labels - Label `has_many` subscribers through subscriptions. 3. Adding a label to an issue or MR notifies users subscribed to those labels - This only applies to subscribers of the label that has just been added, not all labels for the issue.
Diffstat (limited to 'spec/models/concerns/subscribable_spec.rb')
-rw-r--r--spec/models/concerns/subscribable_spec.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/models/concerns/subscribable_spec.rb b/spec/models/concerns/subscribable_spec.rb
new file mode 100644
index 00000000000..9ee60426a5d
--- /dev/null
+++ b/spec/models/concerns/subscribable_spec.rb
@@ -0,0 +1,16 @@
+require "spec_helper"
+
+describe Subscribable, "Subscribable" do
+ let(:resource) { create(:issue) }
+ let(:user) { create(:user) }
+
+ describe "#subscribed?" do
+ it do
+ expect(resource.subscribed?(user)).to be_falsey
+ resource.toggle_subscription(user)
+ expect(resource.subscribed?(user)).to be_truthy
+ resource.toggle_subscription(user)
+ expect(resource.subscribed?(user)).to be_falsey
+ end
+ end
+end