refacto
This commit is contained in:
parent
1aacc1370f
commit
9918584a91
3 changed files with 19 additions and 19 deletions
|
|
@ -33,7 +33,7 @@ class User < ApplicationRecord
|
|||
end
|
||||
|
||||
def history
|
||||
MoodCalendarService.generate_calendar(moods)
|
||||
MoodCalendarService.generate_calendar(self)
|
||||
end
|
||||
|
||||
def current_mode
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
class MoodCalendarService
|
||||
def self.generate_calendar(moods, start_date: nil, end_date: Date.current)
|
||||
data = moods.includes(:mode)
|
||||
def self.generate_calendar(user, start_date: nil, end_date: Date.current)
|
||||
data = user.moods.includes(:mode)
|
||||
.order(:recorded_at)
|
||||
.map { |mood| { mode: mood.mode, recorded_at: mood.recorded_at } }
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-18 16:45:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-02-28")
|
||||
)
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode2, recorded_at: Time.zone.parse("2025-04-20 11:30:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-04-30")
|
||||
)
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ RSpec.describe MoodCalendarService do
|
|||
|
||||
context 'sans aucun recorded_at' do
|
||||
it 'retourne un calendrier à partir de la date courante' do
|
||||
result = MoodCalendarService.generate_calendar(Mood.where(user: user))
|
||||
result = MoodCalendarService.generate_calendar(user)
|
||||
|
||||
expect(result).not_to be_empty
|
||||
expect(result.first[:month]).to eq(Date.current.beginning_of_month)
|
||||
|
|
@ -97,7 +97,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-02-28")
|
||||
)
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-03-31")
|
||||
)
|
||||
|
||||
|
|
@ -134,7 +134,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-02-28")
|
||||
)
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-02-28")
|
||||
)
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ RSpec.describe MoodCalendarService do
|
|||
it "utilise le premier mood comme start_date et aujourd'hui comme end_date" do
|
||||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(Mood.where(user: user))
|
||||
result = MoodCalendarService.generate_calendar(user)
|
||||
|
||||
expect(result).not_to be_empty
|
||||
expect(result.first[:month]).to eq(Date.parse("2025-02-01"))
|
||||
|
|
@ -175,7 +175,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
start_date: Date.parse("2025-03-01"),
|
||||
end_date: Date.parse("2025-03-31")
|
||||
)
|
||||
|
|
@ -190,7 +190,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-09-30")
|
||||
)
|
||||
|
||||
|
|
@ -205,7 +205,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode2, recorded_at: Time.zone.parse("2025-04-20 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
start_date: Date.parse("2025-03-01"),
|
||||
end_date: Date.parse("2025-03-31")
|
||||
)
|
||||
|
|
@ -221,7 +221,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
start_date: Date.parse("2025-02-01"),
|
||||
end_date: Date.parse("2025-04-30")
|
||||
)
|
||||
|
|
@ -238,7 +238,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
start_date: Time.zone.parse("2025-02-01 00:00:00"),
|
||||
end_date: Time.zone.parse("2025-02-28 23:59:59")
|
||||
)
|
||||
|
|
@ -253,7 +253,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
start_date: Date.parse("2025-04-01"),
|
||||
end_date: Date.parse("2025-04-30")
|
||||
)
|
||||
|
|
@ -272,7 +272,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user, mode: mode2, recorded_at: Time.zone.parse("2025-03-20 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-03-31")
|
||||
)
|
||||
|
||||
|
|
@ -297,7 +297,7 @@ RSpec.describe MoodCalendarService do
|
|||
create(:mood, user: user2, mode: mode2, recorded_at: Time.zone.parse("2025-02-16 10:00:00"))
|
||||
|
||||
result = MoodCalendarService.generate_calendar(
|
||||
Mood.where(user: user),
|
||||
user,
|
||||
end_date: Date.parse("2025-02-28")
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue