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); }