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;
 }
Example #3
0
 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;
 }
Example #5
0
        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);
        }