private List <object> PrepData() { var model5_a = new ModelWith3Connections(); model5_a.Field1 = "a"; model5_a.Id = "model5_a"; var model5_b = new ModelWith3Connections(); model5_b.Field1 = "b"; model5_b.Id = "model5_b"; return(new List <object> { model5_a, model5_b }); }
public void CanResolveWithAtLeastOneNullEdgeConnection() { const string srcId = "conn_1"; const string destId1 = "conn_2_1"; const string destId2 = "conn_2_2"; int counter = 0; var model = new ModelWith3Connections { Id = srcId, Field1 = "fas", Edge1 = new ModelWith3ConnectionsEdge { Id = destId1, Field1 = "das one", Other = new ModelWith3ConnectionsOther { Id = destId1 } }, Edge2 = new ModelWith3ConnectionsEdge { Id = destId2, Field1 = "das two", Other = new ModelWith3ConnectionsOther { Id = destId2 } }, Edge3 = null }; ModelWith3Connections m1 = null; ModelWith3ConnectionsOther m2_1 = null; ModelWith3ConnectionsOther m2_2 = null; var edges = _connectionFieldResolver.HandleConnectionEdges(model, (entity) => { if (entity is ModelWith3Connections em1) { if (em1.Id == srcId) { m1 = em1; } } if (entity is ModelWith3ConnectionsOther em2) { if (em2.Id == destId1) { m2_1 = em2; } if (em2.Id == destId2) { m2_2 = em2; } } counter++; }); counter.ShouldBe(3); edges.ShouldNotBeNull(); edges.Count.ShouldBe(2); m1.ShouldNotBeNull(); m2_1.ShouldNotBeNull(); m2_2.ShouldNotBeNull(); int errorCount = 0; edges.ForEach(edge => { if (edge.DestinationId == destId1) { AssertEdge(edge, srcId, destId1); return; } if (edge.DestinationId == destId2) { AssertEdge(edge, srcId, destId2); return; } errorCount++; }); errorCount.ShouldBe(0); }