summaryrefslogtreecommitdiff
path: root/slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs
diff options
context:
space:
mode:
authormokhan <mokhan@da190166-9cfc-4ee1-ae03-434a172be219>2009-02-21 21:44:27 +0000
committermokhan <mokhan@da190166-9cfc-4ee1-ae03-434a172be219>2009-02-21 21:44:27 +0000
commit1dfdccb8118aeaa3cd844ac8de2a672c93312166 (patch)
tree4b19e7f816ab1019f180a46b68572af4b66fe4bc /slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs
parent42d66bcab8262c7b8b2452615df535e694a3ec1c (diff)
git-svn-id: http://svn.xp-dev.com/svn/mokhan-sait@2 da190166-9cfc-4ee1-ae03-434a172be219
Diffstat (limited to 'slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs')
-rw-r--r--slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs106
1 files changed, 106 insertions, 0 deletions
diff --git a/slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs b/slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs
new file mode 100644
index 0000000..1eae132
--- /dev/null
+++ b/slips/src/test/Marina.Test/Unit/Task/CatalogTasksTest.cs
@@ -0,0 +1,106 @@
+using System.Collections.Generic;
+using Marina.Domain.Interfaces;
+using Marina.Domain.Repositories;
+using Marina.Infrastructure;
+using Marina.Presentation.DTO;
+using Marina.Task;
+using Marina.Task.Mappers;
+using Marina.Test.Utility;
+using MbUnit.Framework;
+using Rhino.Mocks;
+
+namespace Marina.Test.Unit.Task {
+ [TestFixture]
+ public class CatalogTasksTest {
+ private MockRepository _mockery;
+ private ISlipsRepository _slipRepository;
+ private ISlipsToDisplayDTOMapper _slipMapper;
+ private IDockRepository _dockRepository;
+ private IDockToDisplayDTOMapper _dockMapper;
+
+ [SetUp]
+ public void Setup() {
+ _mockery = new MockRepository( );
+ _slipRepository = _mockery.DynamicMock< ISlipsRepository >( );
+ _dockRepository = _mockery.DynamicMock< IDockRepository >( );
+ _slipMapper = _mockery.DynamicMock< ISlipsToDisplayDTOMapper >( );
+ _dockMapper = _mockery.DynamicMock< IDockToDisplayDTOMapper >( );
+ }
+
+ public ICatalogTasks CreateSUT() {
+ return new CatalogTasks( _slipRepository, _slipMapper, _dockRepository, _dockMapper );
+ }
+
+ [Test]
+ public void Should_leverage_mapper_to_map_all_slips() {
+ IList< ISlip > availableSlips = new List< ISlip >( );
+ ISlip slip = _mockery.DynamicMock< ISlip >( );
+
+ availableSlips.Add( slip );
+
+ SlipDisplayDTO slipDTO = ObjectMother.SlipDisplayDTO( );
+
+ using ( _mockery.Record( ) ) {
+ SetupResult.For( _slipRepository.AllAvailableSlips( ) ).Return( availableSlips );
+ Expect.Call( _slipMapper.MapFrom( slip ) ).Return( slipDTO );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ IEnumerable< SlipDisplayDTO > allAvailableSlips = CreateSUT( ).GetAllAvailableSlips( );
+ Assert.IsTrue( ListFactory.From( allAvailableSlips ).Contains( slipDTO ) );
+ }
+ }
+
+ [Test]
+ public void Should_leverage_repository_to_find_dock_by_id() {
+ long dockId = 1;
+ IDock dock = _mockery.DynamicMock< IDock >( );
+
+ using ( _mockery.Record( ) ) {
+ Expect.Call( _dockRepository.FindBy( dockId ) ).Return( dock );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ CreateSUT( ).GetDockInformationBy( dockId );
+ }
+ }
+
+ [Test]
+ public void Should_leverage_mapper_to_return_dto() {
+ long dockId = 1;
+ IDock dock = _mockery.DynamicMock< IDock >( );
+
+ DockDisplayDTO dto = ObjectMother.DockDisplayDTO( );
+ using ( _mockery.Record( ) ) {
+ SetupResult.For( _dockRepository.FindBy( dockId ) ).Return( dock );
+ Expect.Call( _dockMapper.MapFrom( dock ) ).Return( dto );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ Assert.AreEqual( dto, CreateSUT( ).GetDockInformationBy( dockId ) );
+ }
+ }
+
+ [Test]
+ public void Should_leverage_repository_to_find_dock() {
+ long dockId = 1;
+ IDock dock = _mockery.DynamicMock< IDock >( );
+ ISlip slip = _mockery.DynamicMock< ISlip >( );
+
+ IList< ISlip > availableSlipsForDock = new List< ISlip >( );
+ availableSlipsForDock.Add( slip );
+
+ SlipDisplayDTO dto = ObjectMother.SlipDisplayDTO( );
+ using ( _mockery.Record( ) ) {
+ Expect.Call( _dockRepository.FindBy( dockId ) ).Return( dock );
+ Expect.Call( _slipRepository.AllAvailableSlipsFor( dock ) ).Return( availableSlipsForDock );
+ Expect.Call( _slipMapper.MapFrom( slip ) ).Return( dto );
+ }
+
+ using ( _mockery.Playback( ) ) {
+ IRichList< SlipDisplayDTO > slipsFound = ListFactory.From( CreateSUT( ).GetAvailableSlipsForDockBy( dockId ) );
+ Assert.IsTrue( slipsFound.Contains( dto ) );
+ }
+ }
+ }
+} \ No newline at end of file