Commit f2eb7965 by vulehuan

rspec: product controller

parent 500f85a3
......@@ -4,19 +4,146 @@ describe "Products Page" do
subject { page }
describe "index page" do
describe "product page" do
end
describe "list" do
before { visit products_path }
describe "product page" do
it { should have_content('Products') }
it { should have_title(full_title('Products')) }
end
# describe "pagination" do
# before(:all) {
# @product_category = ProductCategory.new(
# name: "Product category name"
# )
# @product_category.save
# @user = User.new(name: "Example User", email: "user_product_test@example.com", password: "foobar", password_confirmation: "foobar")
# @user.save
# 300.times do |n|
# @product = Product.new(
# name: "Example #{n} User",
# description: "user@example.com",
# headline: "foobar",
# availability: "foobar",
# code: 'Code',
# condition: 'Condition',
# image_small: '',
# image_medium: 'Image Path',
# review_rate: 0,
# review_count: 0,
# price_currency: 'USD',
# price: 0,
# product_category_id: @product_category.id,
# user_id: @user.id,
# status: 1
# )
# @product.save
# end
# visit products_path
# }
# after(:all) do
# Product.delete_all
# User.delete_all
# ProductCategory.delete_all
# end
# it "should list each product" do
# Product.paginate(page: 1).each do |product|
# expect(page).to have_selector('.item h4 a')
# end
# end
# end
end
describe "category page" do
describe "with valid category id" do
before do
@product_category = ProductCategory.new(
name: "Product category name"
)
@product_category.save
visit product_category_path(@product_category)
end
it { should have_content(@product_category.name) }
it { should have_title(@product_category.name) }
end
describe "with invalid category id" do
describe "when category id is not a number" do
before do
visit product_category_path("abc")
end
it { should have_selector('.alert.alert-error', text: 'Invalid') }
end
describe "when category id is not exist" do
before do
visit product_category_path(0)
end
it { should have_selector('.alert.alert-error', text: 'Invalid') }
end
end
end
describe "detail page" do
describe "with valid product id" do
before do
@product_category = ProductCategory.new(
name: "Product category name"
)
@product_category.save
@user = User.new(name: "Example User", email: "user_product_test@example.com", password: "foobar", password_confirmation: "foobar")
@user.save
@product = Product.new(
name: "Example User",
description: "user@example.com",
headline: "foobar",
availability: "foobar",
code: 'Code',
condition: 'Condition',
image_small: '',
image_medium: 'Image Path',
review_rate: 0,
review_count: 0,
price_currency: 'USD',
price: 0,
product_category_id: @product_category.id,
user_id: @user.id,
status: 1
)
@product.save
visit product_path(@product)
end
it { should have_content(@product.name) }
it { should have_title(@product.name) }
end
describe "with invalid product id" do
describe "when product id is not a number" do
before do
visit product_path("abc")
end
it { should have_selector('.alert.alert-error', text: 'Invalid') }
end
describe "when product id not exist" do
before do
visit product_path(0)
end
it { should have_selector('.alert.alert-error', text: 'Invalid') }
end
end
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment