Exemplo n.º 1
0
            public static IEnumerable <TestCaseData> HandleValidTestCases()
            {
                var input = new EquipmentRentRequestDto
                {
                    EquipmentRentDtos = Enumerable.Empty <EquipmentRentDto>(),
                    ViewStateTime     = SampleTime
                };
                var expectedResult = new CartDto();

                yield return(new TestCaseData(input, expectedResult)
                             .SetName("HandleValidTestCases - No elements"));

                input = new EquipmentRentRequestDto
                {
                    EquipmentRentDtos = new[] { new EquipmentRentDto() },
                    ViewStateTime     = SampleTime
                };
                expectedResult = new CartDto();

                yield return(new TestCaseData(input, expectedResult)
                             .SetName("HandleValidTestCases - 1 empty element"));

                input = new EquipmentRentRequestDto
                {
                    EquipmentRentDtos = Enumerable.Range(0, 25).Select(o => new EquipmentRentDto()).ToList(),
                    ViewStateTime     = SampleTime
                };
                expectedResult = new CartDto();

                yield return(new TestCaseData(input, expectedResult)
                             .SetName("HandleValidTestCases - 25 empty elements"));

                input = new EquipmentRentRequestDto
                {
                    EquipmentRentDtos = Data.Equipments.Select(o => new EquipmentRentDto
                    {
                        EquipmentId    = o.Id,
                        DurationInDays = 1
                    }).ToArray(),
                    ViewStateTime = SampleTime
                };
                expectedResult = new CartDto();

                yield return(new TestCaseData(input, expectedResult)
                             .SetName("HandleValidTestCases - Sample data"));
            }
Exemplo n.º 2
0
        public void SubmitRentRequest_Returns_Expected_EquipmentViewDto(
            EquipmentRentRequestDto input, CartDto expectedResult)
        {
            Mock.Get(_dateTimeProvider)
            .Setup(o => o.Now)
            .Returns(() => TestData.SampleTime);

            // Act
            var result = _cartDtoQueryHandler.SubmitRentRequest(input);

            // Assert
            Mock.Get(_carts)
            .Verify(x => x.Insert(It.IsAny <Cart>()), Times.Once);
            Mock.Get(_cartEquipments)
            .Verify(x => x.Insert(It.IsAny <CartEquipment>()), Times.Exactly(input.EquipmentRentDtos.Count()));
            Mock.Get(_writeDbContext)
            .Verify(x => x.SaveChanges(), Times.Once);

            result.ShouldBeEquivalentTo(expectedResult);
        }
Exemplo n.º 3
0
        public CartDto Get(string commaSeparatedIdAndDurationTuples)
        {
            // Todo: think about if parsing data belongs here or not
            var items = commaSeparatedIdAndDurationTuples
                        .Split('-')
                        .Where(o => !string.IsNullOrEmpty(o))
                        .Select(o => o.Split(','))
                        .Select(o => new EquipmentRentDto
            {
                EquipmentId    = int.Parse(o[0]),
                DurationInDays = int.Parse(o[1])
            })
                        .ToList();
            var equipmentRentRequestDto = new EquipmentRentRequestDto
            {
                EquipmentRentDtos = items,
                //ViewStateTime = viewStateTime - can be faked
            };

            return(_rentalService.SubmitRentRequest(equipmentRentRequestDto));
        }
Exemplo n.º 4
0
 public CartDto SubmitRentRequest(EquipmentRentRequestDto equipmentRentRequestDto)
 {
     return(_cartDtoQueryHandler.Handle(equipmentRentRequestDto));
 }