Updated Tartiflette scoring service tests. Still no pass.

Commit
6e4bd2cd720a56ed38bbe12ca65f4555345cd2d2
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
test/services/tartiflette_scoring_service.rb
index 0a66d5bf..4988b0ac 100644..100644
@@ -17,21 +17,31 @@
17 17 assert_includes @session[:scored_tartiflettes], @tartiflette.id
18 18 end
19 19
20 Removed: test "should process scores for tartiflette" do
20 Added: test "should submit new scores for tartiflette" do
21 21 scores = {
22 Removed: "1" => { value: 4, id: nil }, # New score for criterium_id 1
23 Removed: "2" => { value: 5, id: @existing_score.id } # Update existing score
22 Added: "1" => { value: 4, id: nil } # New score for criterium_id 1
24 23 }
25 24
26 25 assert_nothing_raised do
27 Removed: TartifletteScoringService.process_scores(@tartiflette, scores, @session)
26 Added: TartifletteScoringService.submit_scores(@tartiflette, scores, @session)
28 27 end
29 28
30 29 # Assertions for new score
31 30 new_score = Score.find_by(scoring_criterium_id: 1, tartiflette: @tartiflette)
31 Added: assert_not_nil new_score, "New score should be created"
32 32 assert_equal 4, new_score.value
33 Removed: assert_equal @session[:id], new_score.session_id
33 Added: assert_equal @session.id, new_score.session_id
34 Added: end
34 35
36 Added: test "should update existing scores for tartiflette" do
37 Added: scores = {
38 Added: "2" => { value: 5, id: @existing_score.id } # Update existing score
39 Added: }
40 Added:
41 Added: assert_nothing_raised do
42 Added: TartifletteScoringService.update_scores(@tartiflette, scores, @session)
43 Added: end
44 Added:
35 45 # Assertions for updated score
36 46 @existing_score.reload
37 47 assert_equal 5, @existing_score.value
@@ -55,32 +65,41 @@
55 65 end
56 66
57 67 test "should calculate average of all scores for a tartiflette" do
58 Removed: Score.create!(tartiflette: @tartiflette,
59 Removed: scoring_criterium: scoring_criteria(:one),
60 Removed: value: 4)
61 Removed: Score.create!(tartiflette: @tartiflette,
62 Removed: scoring_criterium: scoring_criteria(:two),
63 Removed: value: 5)
64 Removed: assert_equal 4.5, TartifletteScoringService.average_score(@tartiflette)
68 Added: session_id = SecureRandom.uuid
69 Added: Score.create!(
70 Added: tartiflette: @tartiflette,
71 Added: scoring_criterium: scoring_criteria(:one),
72 Added: value: 1,
73 Added: session_id: session_id
74 Added: )
75 Added:
76 Added: Score.create!(
77 Added: tartiflette: @tartiflette,
78 Added: scoring_criterium: scoring_criteria(:two),
79 Added: value: 4,
80 Added: session_id: session_id
81 Added: )
82 Added: average_score = TartifletteScoringService.average_score(@tartiflette)
83 Added: assert_equal 2, average_score, "The average score should be 2"
65 84 end
66 85
67 86 test "should calculate average score by category for a tartiflette" do
68 Removed: Score.create!(tartiflette: @tartiflette,
69 Removed: scoring_criterium: scoring_criteria(:one),
70 Removed: value: 1)
71 Removed: Score.create!(tartiflette: @tartiflette,
72 Removed: scoring_criterium: scoring_criteria(:one),
73 Removed: value: 2)
74 Removed: Score.create!(tartiflette: @tartiflette,
75 Removed: scoring_criterium: scoring_criteria(:four),
76 Removed: value: 4)
77 Removed: Score.create!(tartiflette: @tartiflette,
78 Removed: scoring_criterium: scoring_criteria(:four),
79 Removed: value: 5)
80 Removed: average_score_by_category = { scoring_criteria(:one)[:category] => 1.5,
81 Removed: scoring_criteria(:four)[:category] => 4.5
82 Removed: }
83 Removed: assert_equal average_score_by_category,
84 Removed: TartifletteScoringService.average_score_by_category(@tartiflette)
87 Added: session_id = SecureRandom.uuid
88 Added: Score.create!(
89 Added: tartiflette: @tartiflette,
90 Added: scoring_criterium: scoring_criteria(:one),
91 Added: value: 4,
92 Added: session_id: session_id
93 Added: )
94 Added: Score.create!(
95 Added: tartiflette: @tartiflette,
96 Added: scoring_criterium: scoring_criteria(:two),
97 Added: value: 5,
98 Added: session_id: session_id
99 Added: )
100 Added: averages = TartifletteScoringService.average_score_by_category(@tartiflette)
101 Added: assert_equal 4.0, averages[scoring_criteria(:one)]
102 Added: assert_equal 5.0, averages[scoring_criteria(:one)]
85 103 end
104 Added:
86 105 end