mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-27 21:06:49 +00:00
We configured Paperclip to convert images to JPG in some cases but I omitted that here because we don't need it. If an image is better represented as PNG or another format then the user should be able to choose that. Some specs were also testing the generated URL but the Active Storage URL doesn't contain a style name anymore and it's not helpful to test the URL.
54 lines
1.8 KiB
Ruby
54 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
describe TermsOfService do
|
|
let(:customer) { create(:customer) }
|
|
let(:distributor) { create(:distributor_enterprise) }
|
|
|
|
context "a customer has not accepted the terms of service" do
|
|
before do
|
|
allow(customer).to receive(:terms_and_conditions_accepted_at) { nil }
|
|
end
|
|
|
|
it "returns false" do
|
|
expect(TermsOfService.tos_accepted?(customer)).to be false
|
|
end
|
|
end
|
|
|
|
context "a customer has accepted the platform terms of service" do
|
|
before do
|
|
allow(customer).to receive(:terms_and_conditions_accepted_at) { Time.zone.now - 1.week }
|
|
allow(TermsOfServiceFile).to receive(:updated_at) { Time.zone.now - 2.weeks }
|
|
end
|
|
|
|
it "should reflect whether the platform TOS have been accepted since the last update" do
|
|
expect {
|
|
allow(TermsOfServiceFile).to receive(:updated_at) { Time.zone.now }
|
|
}.to change {
|
|
TermsOfService.tos_accepted?(customer)
|
|
}.from(true).to(false)
|
|
end
|
|
end
|
|
|
|
context "a customer has accepted the distributor terms of service" do
|
|
before do
|
|
allow(customer).to receive(:terms_and_conditions_accepted_at) { Time.zone.now - 1.week }
|
|
allow(distributor).to receive(:terms_and_conditions_blob) {
|
|
ActiveStorage::Blob.new(created_at: Time.zone.now - 2.weeks)
|
|
}
|
|
end
|
|
|
|
it "should reflect whether the platform TOS have been accepted since the last update" do
|
|
expect {
|
|
allow(distributor).to receive(:terms_and_conditions_updated_at) { Time.zone.now }
|
|
allow(distributor).to receive(:terms_and_conditions_blob) {
|
|
ActiveStorage::Blob.new(created_at: Time.zone.now)
|
|
}
|
|
}.to change {
|
|
TermsOfService.tos_accepted?(customer, distributor)
|
|
}.from(true).to(false)
|
|
end
|
|
end
|
|
end
|