|
|
|
@ -1,8 +1,10 @@ |
|
|
|
|
|
|
|
|
|
RSpec.describe Site, type: :model do |
|
|
|
|
REFERENCE = '<html><body>foo <div id="content">bar</div></body></html>' |
|
|
|
|
REFERENCE_TARGET = '<div id="content">bar</div>' |
|
|
|
|
REFERENCE = "<html><body>foo #{REFERENCE_TARGET}</body></html>" |
|
|
|
|
CHANGE_OUTSIDE_TARGET = '<html><body>baz <div id="content">bar</div></body></html>' |
|
|
|
|
CHANGE_INSIDE_TARGET = '<html><body>foo <div id="content">baz</div></body></html>' |
|
|
|
|
CHANGE_TARGET = '<div id="content">baz</div>' |
|
|
|
|
CHANGE_INSIDE_TARGET = "<html><body>foo #{CHANGE_TARGET}</body></html>" |
|
|
|
|
|
|
|
|
|
let :site do |
|
|
|
|
Site.create! url: 'http://localhost/' |
|
|
|
@ -32,7 +34,7 @@ RSpec.describe Site, type: :model do |
|
|
|
|
expect(status).to be :unchanged |
|
|
|
|
|
|
|
|
|
expect(site.changed_at).to be_nil |
|
|
|
|
expect(site.content).to be_nil |
|
|
|
|
expect(site.content).to eq REFERENCE |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'must not change if no change with checks' do |
|
|
|
@ -42,10 +44,10 @@ RSpec.describe Site, type: :model do |
|
|
|
|
expect(status).to be :unchanged |
|
|
|
|
|
|
|
|
|
expect(site.changed_at).to be_nil |
|
|
|
|
expect(site.content).to be_nil |
|
|
|
|
expect(site.content).to eq REFERENCE |
|
|
|
|
|
|
|
|
|
expect(check.changed_at).to be_nil |
|
|
|
|
expect(check.content).to be_nil |
|
|
|
|
expect(check.content).to eq REFERENCE_TARGET |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'must change if change with no check' do |
|
|
|
@ -53,7 +55,7 @@ RSpec.describe Site, type: :model do |
|
|
|
|
expect(status).to be :changed |
|
|
|
|
|
|
|
|
|
expect(site.changed_at).not_to be_nil |
|
|
|
|
expect(site.content).not_to be_nil |
|
|
|
|
expect(site.content).not_to eq REFERENCE |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'must not change if change but no check changed' do |
|
|
|
@ -62,10 +64,10 @@ RSpec.describe Site, type: :model do |
|
|
|
|
expect(status).to be :unchanged |
|
|
|
|
|
|
|
|
|
expect(site.changed_at).to be_nil |
|
|
|
|
expect(site.content).to be_nil |
|
|
|
|
expect(site.content).to be REFERENCE |
|
|
|
|
|
|
|
|
|
expect(check.changed_at).to be_nil |
|
|
|
|
expect(check.content).to be_nil |
|
|
|
|
expect(check.content).to eq REFERENCE_TARGET |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'must change if check changed' do |
|
|
|
@ -74,9 +76,9 @@ RSpec.describe Site, type: :model do |
|
|
|
|
expect(status).to be :changed |
|
|
|
|
|
|
|
|
|
expect(site.changed_at).not_to be_nil |
|
|
|
|
expect(site.content).not_to be_nil |
|
|
|
|
expect(site.content).to eq CHANGE_INSIDE_TARGET |
|
|
|
|
|
|
|
|
|
expect(check.changed_at).not_to be_nil |
|
|
|
|
expect(check.content).not_to be_nil |
|
|
|
|
expect(check.content).to eq CHANGE_TARGET |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|