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
|
end
|
||||||
|
|
||||||
def history
|
def history
|
||||||
MoodCalendarService.generate_calendar(moods)
|
MoodCalendarService.generate_calendar(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_mode
|
def current_mode
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
class MoodCalendarService
|
class MoodCalendarService
|
||||||
def self.generate_calendar(moods, start_date: nil, end_date: Date.current)
|
def self.generate_calendar(user, start_date: nil, end_date: Date.current)
|
||||||
data = moods.includes(:mode)
|
data = user.moods.includes(:mode)
|
||||||
.order(:recorded_at)
|
.order(:recorded_at)
|
||||||
.map { |mood| { mode: mood.mode, recorded_at: mood.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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-18 16:45:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-02-28")
|
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"))
|
create(:mood, user: user, mode: mode2, recorded_at: Time.zone.parse("2025-04-20 11:30:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-04-30")
|
end_date: Date.parse("2025-04-30")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -85,7 +85,7 @@ RSpec.describe MoodCalendarService do
|
||||||
|
|
||||||
context 'sans aucun recorded_at' do
|
context 'sans aucun recorded_at' do
|
||||||
it 'retourne un calendrier à partir de la date courante' 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).not_to be_empty
|
||||||
expect(result.first[:month]).to eq(Date.current.beginning_of_month)
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-02-28")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-03-31")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-02-28")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-02-28")
|
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
|
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"))
|
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).not_to be_empty
|
||||||
expect(result.first[:month]).to eq(Date.parse("2025-02-01"))
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
start_date: Date.parse("2025-03-01"),
|
start_date: Date.parse("2025-03-01"),
|
||||||
end_date: Date.parse("2025-03-31")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-09-30")
|
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"))
|
create(:mood, user: user, mode: mode2, recorded_at: Time.zone.parse("2025-04-20 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
start_date: Date.parse("2025-03-01"),
|
start_date: Date.parse("2025-03-01"),
|
||||||
end_date: Date.parse("2025-03-31")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
start_date: Date.parse("2025-02-01"),
|
start_date: Date.parse("2025-02-01"),
|
||||||
end_date: Date.parse("2025-04-30")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
start_date: Time.zone.parse("2025-02-01 00:00:00"),
|
start_date: Time.zone.parse("2025-02-01 00:00:00"),
|
||||||
end_date: Time.zone.parse("2025-02-28 23:59:59")
|
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"))
|
create(:mood, user: user, mode: mode, recorded_at: Time.zone.parse("2025-02-15 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
start_date: Date.parse("2025-04-01"),
|
start_date: Date.parse("2025-04-01"),
|
||||||
end_date: Date.parse("2025-04-30")
|
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"))
|
create(:mood, user: user, mode: mode2, recorded_at: Time.zone.parse("2025-03-20 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-03-31")
|
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"))
|
create(:mood, user: user2, mode: mode2, recorded_at: Time.zone.parse("2025-02-16 10:00:00"))
|
||||||
|
|
||||||
result = MoodCalendarService.generate_calendar(
|
result = MoodCalendarService.generate_calendar(
|
||||||
Mood.where(user: user),
|
user,
|
||||||
end_date: Date.parse("2025-02-28")
|
end_date: Date.parse("2025-02-28")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue