public async System.Threading.Tasks.Task WhenLinkToEnterpriseResourceWithPropertiesAsync_ThenPropertiesAreAppliedOnProjectResource()
        {
            // ARRANGE
            var model = new EnterpriseResourceModel()
            {
                Id                 = Guid.NewGuid(),
                IsBudget           = false,
                IsGeneric          = false,
                IsInactive         = false,
                Name               = EnterpriseResourceNamePrefix + Guid.NewGuid().ToString(),
                ResourceType       = EnterpriseResourceType.Material,
                Initials           = "I",
                Group              = "AGroup",
                DefaultBookingType = BookingType.Committed,
                CostRate           = new CostRateCreationInformation()
                {
                    StandardRate = 1,
                    CostPerUse   = 0
                }
            };
            var enterpriseResource = await _enterpriseResourceClient.AddAsync(model);

            var projectModel = new ProjectModel()
            {
                Id   = Guid.NewGuid(),
                Name = NamePrefix + Guid.NewGuid().ToString()
            };
            var publishedProject = await _client.AddAsync(projectModel);

            // ACT
            var result = await _client.LinkToEnterpriseResource(publishedProject, enterpriseResource);

            publishedProject = await _client.GetByIdAsync(publishedProject.Id);

            _projectContext.Load(publishedProject.ProjectResources);
            await _projectContext.ExecuteQueryAsync();

            var projectResource = publishedProject.ProjectResources.FirstOrDefault();

            // ASSERT
            Assert.NotNull(result);
            Assert.NotNull(projectResource);
            Assert.Equal(model.Id, projectResource.Id);
            Assert.Equal(model.IsBudget, projectResource.IsBudgeted);
            Assert.Equal(model.IsGeneric, projectResource.IsGenericResource);
            Assert.Equal(model.Initials, projectResource.Initials);
            Assert.Equal(model.Group, projectResource.Group);
            Assert.Equal(model.DefaultBookingType, projectResource.DefaultBookingType);
            Assert.Equal(model.CostRate.StandardRate, projectResource.StandardRate);
            Assert.Equal(model.CostRate.CostPerUse, projectResource.CostPerUse);
        }