public EditTicketRequestHandler(IEntityData ticketRepo, IGetsTransaction transactionFactory, ICreatesValidators <EditTicketRequest> validatorFactory, ICreatesEditTicketResponse responseCreator, IEditsTicket editor, ILog logger) { if (editor == null) { throw new ArgumentNullException(nameof(editor)); } if (responseCreator == null) { throw new ArgumentNullException(nameof(responseCreator)); } if (validatorFactory == null) { throw new ArgumentNullException(nameof(validatorFactory)); } if (transactionFactory == null) { throw new ArgumentNullException(nameof(transactionFactory)); } if (ticketRepo == null) { throw new ArgumentNullException(nameof(ticketRepo)); } this.ticketRepo = ticketRepo; this.transactionFactory = transactionFactory; this.validatorFactory = validatorFactory; this.responseCreator = responseCreator; this.editor = editor; this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public RelationshipRemovingTicketEditorDecorator(IEditsTicket wrappedInstance) { if (wrappedInstance == null) { throw new ArgumentNullException(nameof(wrappedInstance)); } this.wrappedInstance = wrappedInstance; }
public LabelResolvingTicketEditorDecorator(IEditsTicket wrappedInstance, IGetsLabels labelProvider) { if (labelProvider == null) { throw new ArgumentNullException(nameof(labelProvider)); } if (wrappedInstance == null) { throw new ArgumentNullException(nameof(wrappedInstance)); } this.wrappedInstance = wrappedInstance; this.labelProvider = labelProvider; }
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 Edit_passes_correct_ticket_to_editing_service(EditTicketRequest request, [Frozen, AlwaysPasses] ICreatesValidators <EditTicketRequest> validatorFactory, [Frozen, CreatesTransaction] IGetsTransaction transactionCreator, [InMemory, Frozen] IEntityData data, Ticket ticket, [Frozen] IEditsTicket editor, EditTicketRequestHandler sut) { // Arrange data.Add(ticket); request.Identity = ticket.GetIdentity(); // Act sut.Edit(request); // Assert Mock.Get(editor).Verify(x => x.Edit(ticket, request), Times.Once); }