mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-26 17:58:11 -04:00
Compare commits
5 Commits
feature-us
...
even-more-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
887b1bfd7e | ||
|
|
367dec9c68 | ||
|
|
7a4a13c949 | ||
|
|
e6627bdf86 | ||
|
|
16a13df3b1 |
22
.github/workflows/ci.yml
vendored
22
.github/workflows/ci.yml
vendored
@@ -108,5 +108,23 @@ jobs:
|
||||
run: bundle exec rails db:prepare
|
||||
|
||||
|
||||
- name: Run tests with test-queue
|
||||
run: bundle exec test-queue rspec spec -fd
|
||||
- name: Run rspec (lib)
|
||||
run: bundle exec rspec spec/lib/ -fd --fail-fast
|
||||
|
||||
- name: Run rspec (services)
|
||||
run: bundle exec rspec spec/services/ -fd --fail-fast
|
||||
|
||||
- name: Run rspec (models)
|
||||
run: bundle exec rspec spec/models/ -fd --fail-fast
|
||||
|
||||
- name: Run rspec (controllers)
|
||||
run: bundle exec rspec spec/controllers/ -fd --fail-fast
|
||||
|
||||
- name: Run rspec (views)
|
||||
run: bundle exec rspec spec/views/ -fd --fail-fast
|
||||
|
||||
- name: Run rspec (routing)
|
||||
run: bundle exec rspec spec/routing/ -fd --fail-fast
|
||||
|
||||
- name: Run rspec (request)
|
||||
run: bundle exec rspec spec/requests/ -fd --fail-fast
|
||||
@@ -672,6 +672,12 @@ Rails/WhereEquals:
|
||||
- 'app/models/harvest.rb'
|
||||
- 'app/models/planting.rb'
|
||||
|
||||
# Offense count: 1
|
||||
# This cop supports safe autocorrection (--autocorrect).
|
||||
Rails/WhereMissing:
|
||||
Exclude:
|
||||
- 'app/controllers/crops_controller.rb'
|
||||
|
||||
# Offense count: 3
|
||||
# This cop supports unsafe autocorrection (--autocorrect-all).
|
||||
Rails/WhereRange:
|
||||
@@ -728,6 +734,13 @@ Style/FloatDivision:
|
||||
Exclude:
|
||||
- 'app/models/concerns/predict_planting.rb'
|
||||
|
||||
# Offense count: 22
|
||||
# This cop supports unsafe autocorrection (--autocorrect-all).
|
||||
# Configuration parameters: EnforcedStyle.
|
||||
# SupportedStyles: always, always_true, never
|
||||
Style/FrozenStringLiteralComment:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 2
|
||||
# This cop supports unsafe autocorrection (--autocorrect-all).
|
||||
Style/GlobalStdStream:
|
||||
|
||||
1
Gemfile
1
Gemfile
@@ -196,7 +196,6 @@ group :test do
|
||||
gem 'rails-controller-testing'
|
||||
gem "rspec-rebound"
|
||||
gem 'selenium-webdriver'
|
||||
gem 'test-queue'
|
||||
gem 'timecop'
|
||||
gem 'vcr'
|
||||
end
|
||||
|
||||
@@ -719,7 +719,6 @@ GEM
|
||||
unicode-display_width (>= 1.1.1, < 4)
|
||||
terser (1.2.7)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
test-queue (0.11.1)
|
||||
thor (1.5.0)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.7.0)
|
||||
@@ -874,7 +873,6 @@ DEPENDENCIES
|
||||
sitemap_generator
|
||||
sprockets (< 4)
|
||||
terser
|
||||
test-queue
|
||||
timecop
|
||||
unicorn
|
||||
validate_url
|
||||
|
||||
@@ -160,7 +160,7 @@ class CropsController < ApplicationController
|
||||
when 'youtube'
|
||||
Crop.approved.where(en_youtube_url: [nil, '']).order(plantings_count: :desc)
|
||||
when 'alternate_names'
|
||||
Crop.approved.where.missing(:alternate_names).order(plantings_count: :desc)
|
||||
Crop.approved.left_joins(:alternate_names).where(alternate_names: { id: nil }).order(plantings_count: :desc)
|
||||
when 'wikidata'
|
||||
crops_with_wikidata = Crop.joins(:scientific_names).where.not(scientific_names: { wikidata_id: nil }).distinct
|
||||
Crop.approved.where.not(id: crops_with_wikidata).order(plantings_count: :desc)
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Be sure to restart your server when you modify this file.
|
||||
#
|
||||
# This file contains migration options to ease your Rails 6.0 upgrade.
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# This migration comes from active_storage (originally 20180723000244)
|
||||
class AddForeignKeyConstraintToActiveStorageAttachmentsForBlobId < ActiveRecord::Migration[6.0]
|
||||
def up
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddFieldsToCrops < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
add_column :crops, :row_spacing, :integer
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class PopulateCropFieldsFromOpenfarmData < ActiveRecord::Migration[5.2]
|
||||
def up
|
||||
Crop.find_each do |crop|
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddSocialMediaToMembers < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
add_column :members, :website_url, :string
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class RenameOtherHandleToOtherUrlInMembers < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
rename_column :members, :other_handle, :other_url
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class CreateGardenCollaborators < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
create_table :garden_collaborators do |t|
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class CreateAustralianFoodClassificationData < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
create_table :australian_food_classification_data do |t|
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class MakeNotificationsPolymorphic < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :notifications, :notifiable_type, :string
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class ChangeCommentsPolymorphic < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
add_column :comments, :commentable_type, :string
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddSourceToSeeds < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
add_column :seeds, :source, :string
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddIndexesCrops < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
add_index :alternate_names, :crop_id
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddOverallRatingPlantings < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
add_column :plantings, :overall_rating, :integer
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddEnYoutubeUrlToCrops < ActiveRecord::Migration[7.2]
|
||||
def change
|
||||
add_column :crops, :en_youtube_url, :string
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# This migration creates the `versions` table for the Version class.
|
||||
# All other migrations PT provides are optional.
|
||||
class CreateVersions < ActiveRecord::Migration[7.2]
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# This migration adds the optional `object_changes` column, in which PaperTrail
|
||||
# will store the `changes` diff for each update event. See the readme for
|
||||
# details.
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddPublicFoodKeyToCrops < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
add_column :crops, :public_food_key, :string
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'csv'
|
||||
|
||||
namespace :import do
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
FactoryBot.define do
|
||||
factory :comment do
|
||||
association :commentable, factory: :post
|
||||
commentable factory: %i(post)
|
||||
author
|
||||
sequence(:body) { |n| "OMG LOL #{n}" }
|
||||
# because our commenters are more polite than YouTube's
|
||||
|
||||
@@ -10,7 +10,7 @@ FactoryBot.define do
|
||||
|
||||
body { "MyText" }
|
||||
read { false }
|
||||
association :notifiable, factory: :post
|
||||
notifiable factory: %i(post)
|
||||
|
||||
factory :no_email_notification do
|
||||
recipient { FactoryBot.create(:no_email_notifications_member) }
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.feature 'Creating a recurring activity' do
|
||||
|
||||
@@ -18,7 +18,7 @@ describe "Conversations", :js do
|
||||
click_link 'Inbox'
|
||||
end
|
||||
|
||||
include_examples 'is accessible'
|
||||
it_behaves_like 'is accessible'
|
||||
|
||||
it { expect(page).to have_content 'something i want to say' }
|
||||
it { page.percy_snapshot(page, name: 'conversations#index') }
|
||||
|
||||
@@ -83,23 +83,23 @@ describe "Alternate names", :js do
|
||||
end
|
||||
|
||||
context 'Anonymous' do
|
||||
include_examples 'show alt names'
|
||||
it_behaves_like 'show alt names'
|
||||
end
|
||||
|
||||
context 'Signed in member' do
|
||||
include_context 'signed in member'
|
||||
include_examples 'show alt names'
|
||||
it_behaves_like 'show alt names'
|
||||
end
|
||||
|
||||
context 'Crop wrangler' do
|
||||
include_context 'signed in crop wrangler'
|
||||
include_examples 'show alt names'
|
||||
include_examples 'edit alt names'
|
||||
it_behaves_like 'show alt names'
|
||||
it_behaves_like 'edit alt names'
|
||||
end
|
||||
|
||||
context 'Admin' do
|
||||
include_context 'signed in admin'
|
||||
include_examples 'show alt names'
|
||||
include_examples 'edit alt names'
|
||||
it_behaves_like 'show alt names'
|
||||
it_behaves_like 'edit alt names'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -34,25 +34,25 @@ describe "browse crops", :search do
|
||||
end
|
||||
|
||||
context 'anon' do
|
||||
include_examples 'shows crops'
|
||||
it_behaves_like 'shows crops'
|
||||
it { expect(page).to have_no_link "Add New Crop" }
|
||||
end
|
||||
|
||||
context 'member' do
|
||||
include_context 'signed in member'
|
||||
include_examples 'shows crops'
|
||||
include_examples 'add new crop'
|
||||
it_behaves_like 'shows crops'
|
||||
it_behaves_like 'add new crop'
|
||||
end
|
||||
|
||||
context 'wrangler' do
|
||||
include_context 'signed in crop wrangler'
|
||||
include_examples 'shows crops'
|
||||
include_examples 'add new crop'
|
||||
it_behaves_like 'shows crops'
|
||||
it_behaves_like 'add new crop'
|
||||
end
|
||||
|
||||
context 'admin' do
|
||||
include_context 'signed in admin'
|
||||
include_examples 'shows crops'
|
||||
include_examples 'add new crop'
|
||||
it_behaves_like 'shows crops'
|
||||
it_behaves_like 'add new crop'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -33,7 +33,7 @@ describe "Crop", :js do
|
||||
|
||||
shared_examples 'request crop' do
|
||||
describe "requesting a crop with multiple scientific and alternate name" do
|
||||
include_examples 'fill in form'
|
||||
it_behaves_like 'fill in form'
|
||||
before do
|
||||
within "form#new_crop" do
|
||||
fill_in "request_notes", with: "This is the Philippine national flower."
|
||||
@@ -50,7 +50,7 @@ describe "Crop", :js do
|
||||
|
||||
shared_examples 'create crop' do
|
||||
describe "creating a crop with multiple scientific and alternate name" do
|
||||
include_examples 'fill in form'
|
||||
it_behaves_like 'fill in form'
|
||||
before do
|
||||
click_button "Save"
|
||||
end
|
||||
@@ -69,16 +69,16 @@ describe "Crop", :js do
|
||||
|
||||
context 'member' do
|
||||
include_context 'signed in member'
|
||||
include_examples 'request crop'
|
||||
it_behaves_like 'request crop'
|
||||
end
|
||||
|
||||
context 'crop wrangler' do
|
||||
include_context 'signed in crop wrangler'
|
||||
include_examples 'create crop'
|
||||
it_behaves_like 'create crop'
|
||||
end
|
||||
|
||||
context 'admin' do
|
||||
include_context 'signed in admin'
|
||||
include_examples 'create crop'
|
||||
it_behaves_like 'create crop'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -59,17 +59,17 @@ describe "crop detail page", :js, :search do
|
||||
|
||||
context "when signed in" do
|
||||
include_context 'signed in member'
|
||||
include_examples "shows photos"
|
||||
it_behaves_like "shows photos"
|
||||
end
|
||||
|
||||
context "when signed in as photos owner" do
|
||||
include_context 'signed in member'
|
||||
let(:member) { owner_member }
|
||||
|
||||
include_examples "shows photos"
|
||||
it_behaves_like "shows photos"
|
||||
end
|
||||
|
||||
context "when not signed in" do
|
||||
include_examples "shows photos"
|
||||
it_behaves_like "shows photos"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -27,11 +27,11 @@ describe "Delete crop spec" do
|
||||
|
||||
context "As a crop wrangler" do
|
||||
include_context 'signed in crop wrangler'
|
||||
include_examples 'delete crop'
|
||||
it_behaves_like 'delete crop'
|
||||
end
|
||||
|
||||
context 'admin' do
|
||||
include_context 'signed in admin'
|
||||
include_examples 'delete crop'
|
||||
it_behaves_like 'delete crop'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -25,7 +25,7 @@ describe "Gardens" do
|
||||
context 'my gardens' do
|
||||
before { visit gardens_path(member_slug: member.slug) }
|
||||
|
||||
include_examples "has buttons bar at top"
|
||||
it_behaves_like "has buttons bar at top"
|
||||
|
||||
context 'with actions menu expanded' do
|
||||
before { click_link 'Actions' }
|
||||
@@ -43,13 +43,13 @@ describe "Gardens" do
|
||||
context 'all gardens' do
|
||||
before { visit gardens_path }
|
||||
|
||||
include_examples "has buttons bar at top"
|
||||
it_behaves_like "has buttons bar at top"
|
||||
end
|
||||
|
||||
context "other member's garden" do
|
||||
before { visit gardens_path(member_slug: create(:member).slug) }
|
||||
|
||||
include_examples "has buttons bar at top"
|
||||
it_behaves_like "has buttons bar at top"
|
||||
describe 'does not show actions on other member garden' do
|
||||
it { is_expected.to have_no_link 'Actions' }
|
||||
end
|
||||
|
||||
@@ -8,7 +8,7 @@ describe "Gardens", :js do
|
||||
include_context 'signed in member'
|
||||
before { visit new_garden_path }
|
||||
|
||||
include_examples 'is accessible'
|
||||
it_behaves_like 'is accessible'
|
||||
|
||||
it "displays required and optional fields properly" do
|
||||
expect(page).to have_css ".required", text: "Name"
|
||||
|
||||
@@ -14,7 +14,7 @@ describe "Gardens#index", :js do
|
||||
visit member_gardens_path(member_slug: member.slug)
|
||||
end
|
||||
|
||||
include_examples 'is accessible'
|
||||
it_behaves_like 'is accessible'
|
||||
|
||||
it "displays each of the gardens" do
|
||||
member.gardens.each do |garden|
|
||||
|
||||
@@ -26,7 +26,7 @@ describe "Harvesting a crop", :js, :search do
|
||||
|
||||
within "form#new_harvest" do
|
||||
choose plant_part.name
|
||||
fill_in "When?", with: Time.new(2014, 6, 15)
|
||||
fill_in "When?", with: Time.zone.local(2014, 6, 15)
|
||||
fill_in "How many?", with: 42
|
||||
fill_in "Weighing (in total)", with: 42
|
||||
fill_in "Notes", with: "It's killer."
|
||||
|
||||
@@ -58,13 +58,13 @@ describe 'Likeable', :js, :search do
|
||||
describe 'photos#index' do
|
||||
let(:path) { photos_path }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
|
||||
describe 'photos#show' do
|
||||
let(:path) { photo_path(photo) }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
|
||||
describe 'crops#show' do
|
||||
@@ -74,7 +74,7 @@ describe 'Likeable', :js, :search do
|
||||
|
||||
before { planting.photos << photo }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -82,27 +82,27 @@ describe 'Likeable', :js, :search do
|
||||
let(:like_count_class) { ".post-#{post.id} .like-count" }
|
||||
let(:path) { post_path(post) }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
|
||||
describe 'activities' do
|
||||
let(:like_count_class) { ".activity-#{activity.id} .like-count" }
|
||||
let(:path) { activity_path(activity) }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
|
||||
describe 'plantings' do
|
||||
let(:like_count_class) { ".planting-#{planting.id} .like-count" }
|
||||
let(:path) { planting_path(planting) }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
|
||||
describe 'harvests' do
|
||||
let(:like_count_class) { ".harvest-#{harvest.id} .like-count" }
|
||||
let(:path) { harvest_path(harvest) }
|
||||
|
||||
include_examples 'object can be liked'
|
||||
it_behaves_like 'object can be liked'
|
||||
end
|
||||
end
|
||||
|
||||
@@ -96,7 +96,7 @@ describe "member deletion", :flaky do
|
||||
end
|
||||
|
||||
describe 'member exists but is marked deleted' do
|
||||
subject { Member.all.find(member.id) }
|
||||
subject { Member.find(member.id) }
|
||||
|
||||
it { expect(subject).to eq member }
|
||||
it { expect(subject.discarded?).to be true }
|
||||
|
||||
@@ -34,11 +34,11 @@ describe "signout" do
|
||||
end
|
||||
|
||||
describe 'after signout, redirect to signin page if page needs authentication' do
|
||||
include_examples "sign-in redirects", "/plantings/new"
|
||||
include_examples "sign-in redirects", "/harvests/new"
|
||||
include_examples "sign-in redirects", "/posts/new"
|
||||
include_examples "sign-in redirects", "/gardens/new"
|
||||
include_examples "sign-in redirects", "/seeds/new"
|
||||
it_behaves_like "sign-in redirects", "/plantings/new"
|
||||
it_behaves_like "sign-in redirects", "/harvests/new"
|
||||
it_behaves_like "sign-in redirects", "/posts/new"
|
||||
it_behaves_like "sign-in redirects", "/gardens/new"
|
||||
it_behaves_like "sign-in redirects", "/seeds/new"
|
||||
end
|
||||
|
||||
it 'photos' do
|
||||
|
||||
@@ -154,7 +154,7 @@ describe Crop do
|
||||
|
||||
it { expect(crop.default_photo).to eq photo }
|
||||
|
||||
include_examples 'has default photo'
|
||||
it_behaves_like 'has default photo'
|
||||
end
|
||||
|
||||
context 'with a harvest photo' do
|
||||
@@ -165,7 +165,7 @@ describe Crop do
|
||||
|
||||
it { expect(crop.default_photo).to eq photo }
|
||||
|
||||
include_examples 'has default photo'
|
||||
it_behaves_like 'has default photo'
|
||||
|
||||
context 'and planting photo' do
|
||||
let(:planting) { create(:planting, crop:) }
|
||||
|
||||
@@ -70,8 +70,8 @@ include Warden::Test::Helpers
|
||||
# directory. Alternatively, in the individual `*_spec.rb` files, manually
|
||||
# require only the support files necessary.
|
||||
#
|
||||
Dir[Rails.root.join("spec/support/**/*.rb")].sort.each { |f| require f }
|
||||
Dir[Rails.root.join("spec/features/shared_examples/**/*.rb")].sort.each { |f| require f }
|
||||
Rails.root.glob("spec/support/**/*.rb").sort.each { |f| require f }
|
||||
Rails.root.glob("spec/features/shared_examples/**/*.rb").sort.each { |f| require f }
|
||||
|
||||
# Checks for pending migrations before tests are run.
|
||||
# If you are not using ActiveRecord, you can remove this line.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe 'Activities' do
|
||||
subject { JSON.parse response.body }
|
||||
subject { response.parsed_body }
|
||||
|
||||
let(:member) { create(:member) }
|
||||
let(:token) do
|
||||
|
||||
@@ -14,17 +14,17 @@ module FeatureHelpers
|
||||
|
||||
shared_context 'signed in member' do
|
||||
let(:member) { create(:member) }
|
||||
include_examples 'sign in'
|
||||
it_behaves_like 'sign in'
|
||||
end
|
||||
|
||||
shared_context 'signed in crop wrangler' do
|
||||
let(:member) { create(:crop_wrangling_member) }
|
||||
include_examples 'sign in'
|
||||
it_behaves_like 'sign in'
|
||||
end
|
||||
|
||||
shared_context 'signed in admin' do
|
||||
let(:member) { create(:admin_member) }
|
||||
include_examples 'sign in'
|
||||
it_behaves_like 'sign in'
|
||||
end
|
||||
|
||||
shared_context 'sign in' do
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
require 'rake'
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ describe "photos/show" do
|
||||
render
|
||||
end
|
||||
|
||||
include_examples "photo data renders"
|
||||
it_behaves_like "photo data renders"
|
||||
|
||||
it "has a delete button" do
|
||||
assert_select "a[href='#{photo_path(@photo)}']"
|
||||
@@ -71,8 +71,8 @@ describe "photos/show" do
|
||||
render
|
||||
end
|
||||
|
||||
include_examples "photo data renders"
|
||||
include_examples "No links to change data"
|
||||
it_behaves_like "photo data renders"
|
||||
it_behaves_like "No links to change data"
|
||||
end
|
||||
|
||||
context "not signed in" do
|
||||
@@ -81,8 +81,8 @@ describe "photos/show" do
|
||||
render
|
||||
end
|
||||
|
||||
include_examples "photo data renders"
|
||||
include_examples "No links to change data"
|
||||
it_behaves_like "photo data renders"
|
||||
it_behaves_like "No links to change data"
|
||||
end
|
||||
|
||||
context "CC-licensed photo" do
|
||||
|
||||
@@ -31,7 +31,7 @@ describe 'seeds/index.rss.haml', :search do
|
||||
render
|
||||
end
|
||||
|
||||
include_examples 'displays seed in rss feed'
|
||||
it_behaves_like 'displays seed in rss feed'
|
||||
|
||||
it 'shows RSS feed title' do
|
||||
expect(rendered).to have_content "Recent seeds from all members"
|
||||
@@ -60,6 +60,6 @@ describe 'seeds/index.rss.haml', :search do
|
||||
expect(rendered).to have_content "Recent seeds from #{seed.owner}"
|
||||
end
|
||||
|
||||
include_examples 'displays seed in rss feed'
|
||||
it_behaves_like 'displays seed in rss feed'
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user