public async Task GetPurchaseOrder_whenLengthOfDescriptionMoreThan50_shouldTruncateIt()
        {
            const string contentType      = "Video bla bla bla bla bla bla bla bla bla bla bla bla";
            const string costNumber       = "Cost number 423489273 is long as well";
            const string brandName        = "PG";
            const string budgetRegionName = "Budget Region bla bla bla bla bla bla bla bla bla bla bla bla";
            var          budgetRegion     = new AbstractTypeValue {
                Key = budgetRegionName, Name = budgetRegionName
            };
            const byte maximumLength = 50;

            var costSubmitted = GetCostRevisionStatusChanged(CostStageRevisionStatus.PendingBrandApproval);
            var costId        = costSubmitted.AggregateId;

            SetupPurchaseOrderView(costId, new Dictionary <string, dynamic>
            {
                { "contentType", new { id = Guid.NewGuid(), value = contentType } },
                { "budgetRegion", budgetRegion }
            },
                                   brandName: brandName,
                                   costNumber: costNumber
                                   );

            // Act
            var purchase = await PgPurchaseOrderService.GetPurchaseOrder(costSubmitted);

            // Assert
            purchase.Description.Should().HaveLength(maximumLength);
        }
        public async Task GetPurchaseOrder_description_mapping()
        {
            // Arrange
            const string contentTypeKey   = "Video Key";
            const string contentTypeValue = "Video Value";
            const string costNumber       = "423489273";
            const string brandName        = "PG";
            var          budgetRegion     = new AbstractTypeValue {
                Key = "Budget Region", Name = "Budget Region Name"
            };

            var costSubmitted = GetCostRevisionStatusChanged(CostStageRevisionStatus.PendingBrandApproval);
            var costId        = costSubmitted.AggregateId;

            var purchaseView = SetupPurchaseOrderView(costId, new Dictionary <string, dynamic>
            {
                { "contentType", new { id = Guid.NewGuid(), key = contentTypeKey, value = contentTypeValue } },
                { "budgetRegion", budgetRegion }
            },
                                                      brandName: brandName);

            purchaseView.CostNumber = costNumber;

            var expected = $"{contentTypeValue}/{budgetRegion.Name} {costNumber}";

            // Act
            var purchase = await PgPurchaseOrderService.GetPurchaseOrder(costSubmitted);

            // Assert
            purchase.Description.Should().Be(expected);
        }