public DisplayResponseLineDTO RequestLeaseUsing(SubmitLeaseRequestDTO request) { ICustomer customer = _customers.FindBy(request.CustomerId); try { customer.Lease(_slips.FindBy(request.SlipId), LeaseDurations.FindBy(request.Duration)); _customers.Save(customer); return(new DisplayResponseLineDTO("Success!")); } catch (SlipIsAlreadyLeasedException) { return(new DisplayResponseLineDTO("Slip is already leased!")); } }
public void Should_lookup_customer_from_repository_when_requesting_a_lease() { long customerId = 87; long slipId = 32; SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(customerId, slipId, "daily"); ICustomer customer = _mockery.DynamicMock <ICustomer>( ); using (_mockery.Record( )) { Expect.Call(_customers.FindBy(customerId)).Return(customer); } using (_mockery.Playback( )) { CreateSUT( ).RequestLeaseUsing(request); } }
public void Should_lookup_slip_from_repository_when_requesting_a_lease(long slipId) { long customerId = 87; SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(customerId, slipId, "weekly"); ISlip slip = _mockery.DynamicMock <ISlip>( ); ICustomer customer = _mockery.DynamicMock <ICustomer>( ); using (_mockery.Record( )) { SetupResult.For(_customers.FindBy(0)).IgnoreArguments( ).Return(customer); Expect.Call(_slips.FindBy(slipId)).Return(slip); } using (_mockery.Playback( )) { CreateSUT( ).RequestLeaseUsing(request); } }
public void Should_display_response_from_lease_request_on_the_view() { SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(1, 1, "weekly"); DisplayResponseLineDTO response = new DisplayResponseLineDTO(""); using (_mockery.Record( )) { SetupResult .For(_mockLeaseTasks.RequestLeaseUsing(request)) .IgnoreArguments( ) .Return(response); _mockView.Display(response); } using (_mockery.Playback( )) { CreateSUT( ).SubmitLeaseRequest( ); } }
public void Should_save_lease_slip_when_customer_submits_a_request() { long customerId = 2; long slipId = 3; SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(customerId, slipId, "weekly"); DisplayResponseLineDTO response = new DisplayResponseLineDTO(""); using (_mockery.Record( )) { SetupResult.For(_mockMapper.MapFrom(_mockRequest)).Return(request); Expect.Call(_mockLeaseTasks.RequestLeaseUsing(request)).Return(response); } using (_mockery.Playback( )) { CreateSUT( ).SubmitLeaseRequest( ); } }
public void customer_should_attempt_to_lease_slip() { long customerId = 87; long slipId = 32; string duration = "weekly"; SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(customerId, slipId, duration); ISlip slip = _mockery.DynamicMock <ISlip>( ); ICustomer customer = _mockery.DynamicMock <ICustomer>( ); using (_mockery.Record( )) { SetupResult.For(_customers.FindBy(customerId)).Return(customer); SetupResult.For(_slips.FindBy(slipId)).Return(slip); customer.Lease(slip, LeaseDurations.FindBy(duration)); } using (_mockery.Playback( )) { CreateSUT( ).RequestLeaseUsing(request); } }
public void Should_return_error_message_if_the_slip_is_already_leased() { ICustomer customer = _mockery.DynamicMock <ICustomer>( ); using (_mockery.Record( )) { SetupResult .For(_customers.FindBy(0)) .IgnoreArguments( ) .Return(customer); customer.Lease(null, null); LastCall .IgnoreArguments( ) .Throw(new SlipIsAlreadyLeasedException( )); } using (_mockery.Playback( )) { SubmitLeaseRequestDTO request = new SubmitLeaseRequestDTO(1, 2, "weekly"); DisplayResponseLineDTO response = CreateSUT( ).RequestLeaseUsing(request); Assert.AreEqual("Slip is already leased!", response.Message); } }
public DisplayResponseLineDTO RequestLeaseUsing(SubmitLeaseRequestDTO request) { return(_underlyingTask.RequestLeaseUsing(request)); }