Commit 39b8d5d
Changed files (4)
lib
presentation
spec
presentation
lib/presentation/windows/shell_view.rb
@@ -25,7 +25,7 @@ class ShellView
builder.connect_signals do |signal|
proc { presenter.public_send(signal) }
end
- Build.menu_bar.with(File.menu(@event_aggregator)).add_to(self)
+ Build.menu_bar.with(File.menu(@event_aggregator)).add_to(@menu_bar)
@window.fullscreen
end
lib/presentation/application_controller.rb
@@ -1,14 +1,14 @@
class ApplicationController
- def initialize(container)
- @container = container
+ def initialize(presenter_factory)
+ @presenter_factory = presenter_factory
end
def run(presenter_key)
- presenter = @container.resolve(presenter_key)
- view = presenter.view
- view.builder = create_builder_for(presenter_key.to_s)
- view.bind_to(presenter)
- presenter.present
+ #presenter = @container.resolve(presenter_key)
+ #view = presenter.view
+ #view.builder = create_builder_for(presenter_key.to_s)
+ #view.bind_to(presenter)
+ @presenter_factory.create(presenter_key).present
end
private
spec/presentation/application_controller_spec.rb
@@ -0,0 +1,17 @@
+require "spec_helper"
+
+describe ApplicationController do
+ let(:presenter_factory) { double }
+ subject { ApplicationController.new(presenter_factory) }
+
+ describe "#run" do
+ it "builds a new presenter and presents it" do
+ presenter = double(present: true)
+
+ presenter_factory.stub(:create).with(:stock_presenter).and_return(presenter)
+
+ subject.run(:stock_presenter)
+ presenter.should have_received(:present)
+ end
+ end
+end