public RelationshipAddingTicketEditorDecorator(IEditsTicket wrappedInstance, IConvertsAddRelationshipRequestsToTicketRelationships relationshipFactory) { if (relationshipFactory == null) { throw new ArgumentNullException(nameof(relationshipFactory)); } if (wrappedInstance == null) { throw new ArgumentNullException(nameof(wrappedInstance)); } this.wrappedInstance = wrappedInstance; this.relationshipFactory = relationshipFactory; }
public void CreateTicket_adds_relationships_with_null_secondary_ticket_as_secondary_relationships([Frozen, CreatesATicket] ICreatesTicket wrappedInstance, [Frozen] IConvertsAddRelationshipRequestsToTicketRelationships relationshipFactory, TicketRelationship relationship, Ticket relatedTicket, CreateTicketRequest request, AddRelationshipRequest relationshipRequest, RelationshipPopulatingTicketFactoryDecorator sut) { // Arrange request.RelationshipsToAdd.Add(relationshipRequest); Mock.Get(relationshipFactory) .Setup(x => x.Convert(It.IsAny <IEnumerable <AddRelationshipRequest> >())) .Returns(new [] { relationship }); relationship.PrimaryTicket = relatedTicket; relationship.SecondaryTicket = null; // Act var result = sut.CreateTicket(request); // Assert Assert.That(result?.PrimaryRelationships, Does.Not.Contains(relationship)); Assert.That(result?.SecondaryRelationships, Contains.Item(relationship)); }