public async Task GetPackageByTrackingCode_WithValidTrackingCode_ReturnsPackageSuccessfully()
        {
            //Arrange
            var trackingCode = _fixture.Create <string>();

            var expectedResult = new Package(
                Guid.NewGuid(),
                Shared.Enums.PackageSize.M,
                100,
                false,
                200,
                trackingCode,
                _fixture.Create <Shipment>(),
                null,
                DateTime.UtcNow,
                null);

            _mockPackageRepository
            .Setup(exec =>
                   exec.GetPackageByTrackingCode(
                       It.IsAny <string>()))
            .ReturnsAsync(expectedResult);

            //Act
            var response = await _packagesController
                           .GetPackageByTrackingCode(trackingCode) as OkObjectResult;

            //Assert
            _mockPackageRepository
            .Verify(exec =>
                    exec.GetPackageByTrackingCode(
                        It.IsAny <string>()),
                    Times.Once);

            var packageResult = response.Value as PackageResult;

            response.StatusCode
            .Should()
            .Be((int)HttpStatusCode.OK);

            packageResult.TrackingCode
            .Should()
            .Be(expectedResult.TrackingCode);
        }