big refactor of windows models
This commit is contained in:
@ -3,7 +3,7 @@ require 'spec_helper'
|
||||
describe WindowsController do
|
||||
before :each do
|
||||
@user = FactoryGirl.create(:user)
|
||||
|
||||
|
||||
controller.stub(:current_user).and_return(@user)
|
||||
controller.stub(:current_user_session).and_return(true)
|
||||
|
||||
@ -20,7 +20,7 @@ describe WindowsController do
|
||||
response.should be_successful
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
describe "POST 'update'" do
|
||||
it "should allow an update" do
|
||||
post 'update', :channel_id => @channel.id, :page => "{\"col\":0,\"positions\":[#{@window.id}]}"
|
||||
@ -56,9 +56,7 @@ describe WindowsController do
|
||||
render_views
|
||||
before :each do
|
||||
@channel = FactoryGirl.create(:channel)
|
||||
@window = FactoryGirl.create(:chart_window)
|
||||
@window_detail = FactoryGirl.create(:chart_window_detail)
|
||||
@window.window_detail = @window_detail
|
||||
@window = FactoryGirl.create(:window, html: "<iframe src=\"/\"/>")
|
||||
@channel.windows << @window
|
||||
end
|
||||
|
||||
@ -69,7 +67,7 @@ describe WindowsController do
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
describe "When getting " do
|
||||
it "should render json" do
|
||||
get 'index', :channel_id => @channel.id, :format => :json
|
||||
@ -130,7 +128,3 @@ describe WindowsController do
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
# Read about factories at http://github.com/thoughtbot/factory_girl
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :chart_window do
|
||||
channel_id 1
|
||||
position 1
|
||||
html "<iframe src=\"/\"/>"
|
||||
col 0
|
||||
end
|
||||
end
|
@ -1,20 +0,0 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: chart_window_details
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# chart_window_id :integer
|
||||
# field_number :integer
|
||||
# created_at :datetime
|
||||
# updated_at :datetime
|
||||
# options :string(255)
|
||||
#
|
||||
|
||||
# Read about factories at http://github.com/thoughtbot/factory_girl
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :chart_window_detail do
|
||||
chart_window_id 1
|
||||
field_number 1
|
||||
end
|
||||
end
|
@ -1,11 +0,0 @@
|
||||
# Read about factories at http://github.com/thoughtbot/factory_girl
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :plugin_window do
|
||||
channel_id 1
|
||||
position 1
|
||||
html "<iframe ::OPTIONS::></iframe>"
|
||||
|
||||
col 0
|
||||
end
|
||||
end
|
@ -1,19 +0,0 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: plugin_window_details
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# plugin_id :integer
|
||||
# plugin_window_id :integer
|
||||
# created_at :datetime
|
||||
# updated_at :datetime
|
||||
#
|
||||
|
||||
# Read about factories at https://github.com/thoughtbot/factory_girl
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :plugin_window_detail do
|
||||
plugin_id 1
|
||||
plugin_window_id 1
|
||||
end
|
||||
end
|
@ -1,17 +0,0 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: portlet_window_details
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# portlet_window_id :integer
|
||||
# created_at :datetime
|
||||
# updated_at :datetime
|
||||
#
|
||||
|
||||
# Read about factories at http://github.com/thoughtbot/factory_girl
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :portlet_window_detail do
|
||||
portlet_window_id 1
|
||||
end
|
||||
end
|
@ -10,11 +10,12 @@
|
||||
# html :text
|
||||
# col :integer
|
||||
# title :string(255)
|
||||
# wtype :string(255)
|
||||
# window_type :string(255)
|
||||
# name :string(255)
|
||||
# type :string(255)
|
||||
# private_flag :boolean default(FALSE)
|
||||
# show_flag :boolean default(TRUE)
|
||||
# content_id :integer
|
||||
# options :text
|
||||
#
|
||||
|
||||
# Read about factories at http://github.com/thoughtbot/factory_girl
|
||||
@ -25,5 +26,7 @@ FactoryGirl.define do
|
||||
position 1
|
||||
html "<iframe ::OPTIONS::></iframe>"
|
||||
col 0
|
||||
content_id 1
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -79,7 +79,7 @@ describe Channel do
|
||||
channel.assign_attributes({:video_id => video_id, :video_type => "youtube"})
|
||||
channel.set_windows
|
||||
channel.save
|
||||
window = channel.windows.where({:wtype => :video })
|
||||
window = channel.windows.where({:window_type => :video })
|
||||
window[0].html.should == "<iframe class=\"youtube-player\" type=\"text/html\" width=\"452\" height=\"260\" src=\"https://www.youtube.com/embed/xxxxxx?wmode=transparent\" frameborder=\"0\" wmode=\"Opaque\" ></iframe>"
|
||||
end
|
||||
|
||||
|
@ -20,8 +20,8 @@ describe Plugin do
|
||||
before :each do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@channel = FactoryGirl.create(:channel, :user => @user)
|
||||
@window = FactoryGirl.create(:plugin_window, :channel => @channel)
|
||||
|
||||
@window = FactoryGirl.create(:window, :channel => @channel, :html => "<iframe ::OPTIONS::></iframe>")
|
||||
|
||||
end
|
||||
it "should be valid" do
|
||||
plugin = Plugin.new
|
||||
@ -31,7 +31,7 @@ describe Plugin do
|
||||
it "should confirm has_[public\private]_windows" do
|
||||
plugin = Plugin.new
|
||||
|
||||
window = PluginWindow.new
|
||||
window = Window.new
|
||||
window.private_flag = true
|
||||
window.channel_id = 1
|
||||
plugin.windows << window
|
||||
@ -49,7 +49,7 @@ describe Plugin do
|
||||
|
||||
plugin.make_windows @channel.id, "localhost"
|
||||
plugin.windows.size.should eq(2)
|
||||
|
||||
|
||||
end
|
||||
|
||||
it "new, private window should not be showing" do
|
||||
@ -62,7 +62,7 @@ describe Plugin do
|
||||
plugin.windows.size.should eq(1)
|
||||
window = plugin.windows[0]
|
||||
window.show_flag.should be_false
|
||||
|
||||
|
||||
end
|
||||
|
||||
it "should destroy public windows when changing plugin from public to private" do
|
||||
@ -75,7 +75,7 @@ describe Plugin do
|
||||
|
||||
plugin.private_flag = false
|
||||
plugin.save
|
||||
|
||||
|
||||
plugin.make_windows @channel.id, "localhost"
|
||||
plugin.windows.size.should eq(2)
|
||||
|
||||
@ -83,8 +83,6 @@ describe Plugin do
|
||||
plugin.save
|
||||
plugin.make_windows @channel.id, "localhost"
|
||||
plugin.windows.size.should eq(1)
|
||||
|
||||
|
||||
end
|
||||
|
||||
it "should allow only private_windows to be retrieved" do
|
||||
@ -96,6 +94,7 @@ describe Plugin do
|
||||
plugin.windows.size.should eq(2)
|
||||
plugin.private_dashboard_windows(@channel.id).size.should eq(1)
|
||||
end
|
||||
|
||||
it "should allow only public_windows to be retrieved" do
|
||||
plugin = Plugin.new
|
||||
plugin.private_flag = false
|
||||
@ -108,19 +107,12 @@ describe Plugin do
|
||||
|
||||
it "should cascade delete to Window" do
|
||||
plugin = Plugin.new
|
||||
|
||||
plugin.make_windows @channel.id, "localhost"
|
||||
|
||||
window_id = plugin.windows[0].id
|
||||
|
||||
plugin_id = plugin.id
|
||||
plugin.destroy
|
||||
|
||||
windows = Window.find_all_by_id(window_id)
|
||||
|
||||
windows.size.should eq(0)
|
||||
|
||||
Window.where(window_type: 'plugin', content_id: plugin_id).count.should eq(0)
|
||||
end
|
||||
|
||||
|
||||
it "should have windows associated with separate channels" do
|
||||
channel2 = FactoryGirl.create(:channel, :user => @user)
|
||||
plugin = Plugin.new
|
||||
@ -129,6 +121,7 @@ describe Plugin do
|
||||
plugin.windows.size.should eq(2)
|
||||
plugin.private_dashboard_windows(@channel.id).size.should eq(1)
|
||||
plugin.private_dashboard_windows(channel2.id).size.should eq(1)
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1,54 +0,0 @@
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: plugin_window_details
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# plugin_id :integer
|
||||
# plugin_window_id :integer
|
||||
# created_at :datetime
|
||||
# updated_at :datetime
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe PluginWindowDetail do
|
||||
before :each do
|
||||
@channel = FactoryGirl.create(:channel)
|
||||
@plugin = FactoryGirl.create(:plugin)
|
||||
end
|
||||
|
||||
it "should be valid" do
|
||||
winDetail = PluginWindowDetail.new
|
||||
winDetail.should be_valid
|
||||
end
|
||||
it "should allow windows plugin association" do
|
||||
window = Window.new_from @plugin, @channel.id, :private, "localhost"
|
||||
@plugin.windows << window
|
||||
@plugin.save
|
||||
window.should be_valid
|
||||
|
||||
window.window_detail.should_not be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe PluginWindowDetail do
|
||||
before :each do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@channel = FactoryGirl.create(:channel, :user => @user)
|
||||
@plugin = FactoryGirl.create(:plugin, :user => @user)
|
||||
end
|
||||
it "should differentiate between public plugin_window and private plugin_window" do
|
||||
|
||||
window = Window.new_from @plugin, @channel.id, true, "localhost"
|
||||
@plugin.windows << window
|
||||
@plugin.save
|
||||
plugin = PluginWindowDetail.find_all_by_plugin_id(@plugin.id)
|
||||
plugin.length.should == 1
|
||||
|
||||
window = Window.new_from @plugin, @channel.id, false, "localhost"
|
||||
@plugin.windows << window
|
||||
@plugin.save
|
||||
plugin = PluginWindowDetail.find_all_by_plugin_id(@plugin.id)
|
||||
plugin.length.should == 2
|
||||
end
|
||||
end
|
@ -10,11 +10,12 @@
|
||||
# html :text
|
||||
# col :integer
|
||||
# title :string(255)
|
||||
# wtype :string(255)
|
||||
# window_type :string(255)
|
||||
# name :string(255)
|
||||
# type :string(255)
|
||||
# private_flag :boolean default(FALSE)
|
||||
# show_flag :boolean default(TRUE)
|
||||
# content_id :integer
|
||||
# options :text
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
@ -24,6 +25,46 @@ describe Window do
|
||||
window = Window.new
|
||||
window.should be_valid
|
||||
end
|
||||
|
||||
describe "plugin window" do
|
||||
before :each do
|
||||
@channel = FactoryGirl.create(:channel)
|
||||
@plugin = FactoryGirl.create(:plugin)
|
||||
end
|
||||
|
||||
it "should be valid" do
|
||||
window = Window.new
|
||||
window.should be_valid
|
||||
end
|
||||
|
||||
it "should allow windows plugin association" do
|
||||
window = Window.new_from @plugin, @channel.id, :private, "localhost"
|
||||
@plugin.windows << window
|
||||
@plugin.save
|
||||
window.should be_valid
|
||||
window.should_not be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe "plugin window with user" do
|
||||
before :each do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@channel = FactoryGirl.create(:channel, :user => @user)
|
||||
@plugin = FactoryGirl.create(:plugin, :user => @user)
|
||||
end
|
||||
|
||||
it "should differentiate between public plugin_window and private plugin_window" do
|
||||
window = Window.new_from @plugin, @channel.id, true, "localhost"
|
||||
@plugin.windows << window
|
||||
@plugin.save
|
||||
@plugin.windows.length.should == 1
|
||||
|
||||
window = Window.new_from @plugin, @channel.id, false, "localhost"
|
||||
@plugin.windows << window
|
||||
@plugin.save
|
||||
@plugin.windows.length.should == 2
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user