コード例 #1
0
        public async Task WHEN_valid_request_SHOULD_succeed()
        {
            //Arrange
            var notes = new List <Note>
            {
                new Note()
            };

            _container.GetMock <IOvertureClient>()
            .Setup(r => r.SendAsync(It.IsAny <GetShipmentNotesRequest>()))
            .ReturnsAsync(notes);

            var orderRepository = _container.CreateInstance <OrderRepository>();

            //Act
            var param = new GetShipmentNotesParam
            {
                ShipmentId = Guid.NewGuid(),
                Scope      = GetRandom.String(32),
            };

            var result = await orderRepository.GetShipmentNotesAsync(param).ConfigureAwait(false);

            //Assert
            result.Should().NotBeNull();
            result.Count.ShouldBeEquivalentTo(1);
        }
コード例 #2
0
        /// <summary>
        /// Returns the notes of a specified shipment.
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public virtual Task <List <Note> > GetShipmentNotesAsync(GetShipmentNotesParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.ShipmentId == Guid.Empty)
            {
                throw new ArgumentException(GetMessageOfEmpty(nameof(param.ShipmentId)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.Scope))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.Scope)), nameof(param));
            }

            var request = new GetShipmentNotesRequest
            {
                ScopeId    = param.Scope,
                ShipmentId = param.ShipmentId
            };

            return(OvertureClient.SendAsync(request));
        }