|
6 | 6 | describe ".result" do |
7 | 7 | it "is successful" do |
8 | 8 | user = create(:user) |
9 | | - |
10 | | - expect(described_class.result(user_id: user.id, month: nil, year: nil)).to be_success |
| 9 | + event_procedure = create(:event_procedure, user_id: user.id) |
| 10 | + expect(described_class.result(event_procedures: [event_procedure])).to be_success |
11 | 11 | end |
12 | 12 |
|
13 | 13 | it "returns the amount_cents total, paid and unpaid of event_procedures" do |
14 | 14 | user = create(:user) |
15 | | - _payd_amount_cents = create_list( |
| 15 | + procedure_5000 = create(:procedure, amount_cents: 5000) |
| 16 | + procedure_2000 = create(:procedure, amount_cents: 2000) |
| 17 | + payd_amount_cents = create_list( |
16 | 18 | :event_procedure, 3, |
17 | | - procedure: create(:procedure, amount_cents: 5000), |
| 19 | + procedure: procedure_5000, |
18 | 20 | user: user, |
19 | 21 | payd: true |
20 | 22 | ) |
21 | | - _unpayd_event_procedure = create( |
22 | | - :event_procedure, |
23 | | - procedure: create(:procedure, amount_cents: 2000), |
| 23 | + unpayd_event_procedure = create_list( |
| 24 | + :event_procedure, 2, |
| 25 | + procedure: procedure_2000, |
24 | 26 | user: user, |
25 | 27 | payd: false |
26 | 28 | ) |
27 | | - total_amount_cents = described_class.call(user_id: user.id, month: nil, year: nil) |
28 | | - |
29 | | - expect(total_amount_cents.total).to eq("R$170.00") |
| 29 | + event_procedures = payd_amount_cents + unpayd_event_procedure |
| 30 | + total_amount_cents = described_class.call(event_procedures: event_procedures) |
| 31 | + expect(total_amount_cents.total).to eq("R$190.00") |
30 | 32 | expect(total_amount_cents.payd).to eq("R$150.00") |
31 | | - expect(total_amount_cents.unpaid).to eq("R$20.00") |
32 | | - end |
33 | | - |
34 | | - it "calculates the total, payd, and unpaid amounts for a specific month" do |
35 | | - user = create(:user) |
36 | | - procedure_1000 = create(:procedure, amount_cents: 1000) |
37 | | - procedure_2000 = create(:procedure, amount_cents: 2000) |
38 | | - |
39 | | - _event_procedure_jan = create( |
40 | | - :event_procedure, procedure: procedure_1000, |
41 | | - date: "31/01/2023", |
42 | | - payd: true, |
43 | | - user: user |
44 | | - ) |
45 | | - _payd_event_procedure_feb = create( |
46 | | - :event_procedure, procedure: procedure_2000, |
47 | | - date: "25/02/2023", |
48 | | - payd: true, |
49 | | - user: user |
50 | | - ) |
51 | | - _unpayd_event_procedure_feb = create( |
52 | | - :event_procedure, procedure: procedure_1000, |
53 | | - date: "25/02/2023", |
54 | | - payd: false, |
55 | | - user: user |
56 | | - ) |
57 | | - |
58 | | - total_amount_cents = described_class.call(user_id: user.id, month: "2", year: nil) |
59 | | - |
60 | | - expect(total_amount_cents.total).to eq("R$30.00") |
61 | | - expect(total_amount_cents.payd).to eq("R$20.00") |
62 | | - expect(total_amount_cents.unpaid).to eq("R$10.00") |
63 | | - end |
64 | | - |
65 | | - it "calculates the total, payd, and unpaid amounts for a specific year" do |
66 | | - user = create(:user) |
67 | | - procedure_1000 = create(:procedure, amount_cents: 1000) |
68 | | - procedure_2000 = create(:procedure, amount_cents: 2000) |
69 | | - |
70 | | - _event_procedure_2023 = create( |
71 | | - :event_procedure, procedure: procedure_1000, |
72 | | - date: "31/01/2023", |
73 | | - payd: true, |
74 | | - user: user |
75 | | - ) |
76 | | - _payd_event_procedure_2024 = create( |
77 | | - :event_procedure, procedure: procedure_2000, |
78 | | - date: "25/02/2024", |
79 | | - payd: true, |
80 | | - user: user |
81 | | - ) |
82 | | - _unpayd_event_procedure_2024 = create( |
83 | | - :event_procedure, procedure: procedure_1000, |
84 | | - date: "25/02/2024", |
85 | | - payd: false, |
86 | | - user: user |
87 | | - ) |
88 | | - |
89 | | - total_amount_cents = described_class.call(user_id: user.id, month: nil, year: "2024") |
90 | | - |
91 | | - expect(total_amount_cents.total).to eq("R$30.00") |
92 | | - expect(total_amount_cents.payd).to eq("R$20.00") |
93 | | - expect(total_amount_cents.unpaid).to eq("R$10.00") |
| 33 | + expect(total_amount_cents.unpaid).to eq("R$40.00") |
94 | 34 | end |
95 | 35 | end |
96 | 36 | end |
0 commit comments