public void SettingETagOnDescriptorShouldOverrideWhatIsSent() { // regression coverage for Light switch issue: due to attach detach workaround identity strings don't match and duplicates occur with doubles, // which was really due to: DataServiceContext should support changing EntityState and ETag values for entity instances var entity = new TestEntityType(); var transportLayer = new TransportLayerThatRemembersIfMatchAndAlwaysSendsBack204(this.testSubject); this.testSubject.AttachTo("Things", entity, "ETagSetInAttach"); this.testSubject.ChangeState(entity, EntityStates.Modified); this.testSubject.GetEntityDescriptor(entity).ETag = "ETagSetInProperty"; this.testSubject.SaveChanges().Should().HaveCount(1); transportLayer.LastIfMatchHeaderValue.Should().Be("ETagSetInProperty"); }
public void SettingETagOnDescriptorShouldOverrideWhatIsSent() { // regression coverage for Light switch issue: due to attach detach workaround identity strings don't match and duplicates occur with doubles, // which was really due to: DataServiceContext should support changing EntityState and ETag values for entity instances var entity = new TestEntityType(); var transportLayer = new TransportLayerThatRemembersIfMatchAndAlwaysSendsBack204(this.testSubject); this.testSubject.AttachTo("Things", entity, "ETagSetInAttach"); this.testSubject.ChangeState(entity, EntityStates.Modified); this.testSubject.GetEntityDescriptor(entity).ETag = "ETagSetInProperty"; this.testSubject.SaveChanges().Should().HaveCount(1); transportLayer.LastIfMatchHeaderValue.Should().Be("ETagSetInProperty"); }