|
139 | 139 | end |
140 | 140 | end |
141 | 141 |
|
| 142 | + describe "in_last_12_months >" do |
| 143 | + context "when the current date is December 31, 2023" do |
| 144 | + before do |
| 145 | + travel_to Time.zone.local(2023, 12, 31) |
| 146 | + end |
| 147 | + |
| 148 | + after do |
| 149 | + travel_back |
| 150 | + end |
| 151 | + |
| 152 | + it "includes distributions issued within the last 12 months" do |
| 153 | + included_distribution = create(:distribution, organization: organization, issued_at: Time.zone.local(2023, 1, 1)) |
| 154 | + excluded_distribution = create(:distribution, organization: organization, issued_at: Time.zone.local(2022, 12, 30)) |
| 155 | + distributions = Distribution.in_last_12_months |
| 156 | + expect(distributions).to include(included_distribution) |
| 157 | + expect(distributions).not_to include(excluded_distribution) |
| 158 | + end |
| 159 | + |
| 160 | + it "includes distributions up to the current date and excludes future ones" do |
| 161 | + current_distribution = create(:distribution, organization: organization, issued_at: Time.zone.local(2023, 12, 31)) |
| 162 | + future_distribution = create(:distribution, organization: organization, issued_at: Time.zone.local(2024, 1, 1)) |
| 163 | + distributions = Distribution.in_last_12_months |
| 164 | + expect(distributions).to include(current_distribution) |
| 165 | + expect(distributions).not_to include(future_distribution) |
| 166 | + end |
| 167 | + end |
| 168 | + end |
| 169 | + |
142 | 170 | describe "by_item_id >" do |
143 | 171 | it "only returns distributions with given item id" do |
144 | 172 | # create 2 items with unique ids |
|
0 commit comments