diff options
Diffstat (limited to 'spec/models/todo_spec.rb')
-rw-r--r-- | spec/models/todo_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/todo_spec.rb b/spec/models/todo_spec.rb index 855b1b0f3f7..c4146b347d7 100644 --- a/spec/models/todo_spec.rb +++ b/spec/models/todo_spec.rb @@ -376,6 +376,22 @@ RSpec.describe Todo do end end + describe '.group_by_user_id_and_state' do + let_it_be(:user1) { create(:user) } + let_it_be(:user2) { create(:user) } + + before do + create(:todo, user: user1, state: :pending) + create(:todo, user: user1, state: :pending) + create(:todo, user: user1, state: :done) + create(:todo, user: user2, state: :pending) + end + + specify do + expect(Todo.count_grouped_by_user_id_and_state).to eq({ [user1.id, "done"] => 1, [user1.id, "pending"] => 2, [user2.id, "pending"] => 1 }) + end + end + describe '.any_for_target?' do it 'returns true if there are todos for a given target' do todo = create(:todo) @@ -435,4 +451,12 @@ RSpec.describe Todo do end end end + + describe '.pluck_user_id' do + subject { described_class.pluck_user_id } + + let_it_be(:todo) { create(:todo) } + + it { is_expected.to eq([todo.user_id]) } + end end |