summaryrefslogtreecommitdiff
path: root/slips/src/test/Marina.Test/Unit/Presentation/ViewRegisteredBoatsPresenterTest.cs
diff options
context:
space:
mode:
Diffstat (limited to 'slips/src/test/Marina.Test/Unit/Presentation/ViewRegisteredBoatsPresenterTest.cs')
-rw-r--r--slips/src/test/Marina.Test/Unit/Presentation/ViewRegisteredBoatsPresenterTest.cs62
1 files changed, 62 insertions, 0 deletions
diff --git a/slips/src/test/Marina.Test/Unit/Presentation/ViewRegisteredBoatsPresenterTest.cs b/slips/src/test/Marina.Test/Unit/Presentation/ViewRegisteredBoatsPresenterTest.cs
new file mode 100644
index 0000000..1443153
--- /dev/null
+++ b/slips/src/test/Marina.Test/Unit/Presentation/ViewRegisteredBoatsPresenterTest.cs
@@ -0,0 +1,62 @@
+using System.Collections.Generic;
+using Marina.Presentation;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+using Marina.Task;
+using Marina.Web;
+using MbUnit.Framework;
+using Rhino.Mocks;
+
+namespace Marina.Test.Unit.Presentation {
+ [TestFixture]
+ public class ViewRegisteredBoatsPresenterTest {
+ private MockRepository _mockery;
+ private IRegistrationTasks _mockTask;
+ private IHttpRequest _mockRequest;
+ private IRegisteredBoatsView _mockView;
+
+ [SetUp]
+ public void Setup() {
+ _mockery = new MockRepository( );
+ _mockTask = _mockery.DynamicMock< IRegistrationTasks >( );
+ _mockRequest = _mockery.DynamicMock< IHttpRequest >( );
+ _mockView = _mockery.DynamicMock< IRegisteredBoatsView >( );
+ }
+
+ public IViewRegisteredBoatsPresenter CreateSUT() {
+ return new ViewRegisteredBoatsPresenter( _mockView, _mockTask, _mockRequest );
+ }
+
+ [Test]
+ public void Should_leverage_task_to_retrieve_all_registered_boats_for_customer() {
+ long customerId = 23;
+ IList< BoatRegistrationDTO > boats = new List< BoatRegistrationDTO >( );
+
+ using ( _mockery.Record( ) ) {
+ SetupResult.For( _mockRequest.ParsePayloadFor( PayloadKeys.CustomerId ) ).Return( customerId );
+ Expect.Call( _mockTask.AllBoatsFor( customerId ) ).Return( boats );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ CreateSUT( ).Initialize( );
+ }
+ }
+
+ [Test]
+ public void Should_display_registered_boats_on_view() {
+ IList< BoatRegistrationDTO > boats = new List< BoatRegistrationDTO >( );
+ using ( _mockery.Record( ) ) {
+ SetupResult.For( _mockTask.AllBoatsFor( 0 ) )
+ .IgnoreArguments( )
+ .Return( boats );
+
+ _mockView.Display( boats );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ CreateSUT( ).Initialize( );
+ }
+ }
+ }
+} \ No newline at end of file