Sha256: 990f91c5275394454743f9222e43f63267f736e644ee637fbf2238b36c5d9760

Contents?: true

Size: 1.63 KB

Versions: 9

Compression:

Stored size: 1.63 KB

Contents

require 'rails_helper'

describe Pulitzer::UpdateVersionStatus do
  let(:version)     { create(:version, :with_content_elements) }
  let(:post)        { version.post }
  it 'activates a version' do
    expect(version.status).to eq 'preview'
    Pulitzer::UpdateVersionStatus.new(version, :active).call
    expect(post.active_version.id).to eq version.id
    expect(post.preview_version).to be_instance_of Pulitzer::Version
    expect(post.preview_version.id).not_to eq version.id
    expect(post.preview_version.content_elements.count).to eq 3
  end

  it 'abandons a version' do
    expect(version.status).to eq 'preview'
    Pulitzer::UpdateVersionStatus.new(version, :active).call
    version.reload
    expect(version.status).to eq 'active'
    preview = post.preview_version
    Pulitzer::UpdateVersionStatus.new(preview, :abandoned).call
    preview.reload
    abandoned = preview
    expect(abandoned.status).to eq 'abandoned'
    expect(post.preview_version).to be_instance_of Pulitzer::Version
    expect(post.preview_version.id).not_to eq abandoned.id
    expect(post.preview_version.content_elements.count).to eq 3
  end

  it 'unpublish a version' do
    expect(version.status).to eq 'preview'
    Pulitzer::UpdateVersionStatus.new(version, :active).call
    version.reload
    expect(version.status).to eq 'active'
    Pulitzer::UpdateVersionStatus.new(version, :abandoned).call
    abandoned = version.reload
    expect(abandoned.status).to eq 'abandoned'
    expect(post.preview_version).to be_instance_of Pulitzer::Version
    expect(post.preview_version.id).not_to eq abandoned.id
    expect(post.preview_version.content_elements.count).to eq 3
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pulitzer-0.4.6 spec/interactions/update_version_status_spec.rb
pulitzer-0.4.5 spec/interactions/update_version_status_spec.rb
pulitzer-0.4.4 spec/interactions/update_version_status_spec.rb
pulitzer-0.4.3 spec/interactions/update_version_status_spec.rb
pulitzer-0.4.2 spec/interactions/update_version_status_spec.rb
pulitzer-0.4.1 spec/interactions/update_version_status_spec.rb
pulitzer-0.4.0 spec/interactions/update_version_status_spec.rb
pulitzer-0.3.9 spec/interactions/update_version_status_spec.rb
pulitzer-0.3.8 spec/interactions/update_version_status_spec.rb