Beispiel #1
0
 public CurrentlyChosenProjectDecorator(IGetsCurrentProject wrapped,
                                        IAppSessionStore session,
                                        IEntityData data)
 {
     this.wrapped = wrapped ?? throw new ArgumentNullException(nameof(wrapped));
     this.session = session ?? throw new ArgumentNullException(nameof(session));
     this.data    = data ?? throw new ArgumentNullException(nameof(data));
 }
Beispiel #2
0
 public SprintLister(IEntityData data,
                     IGetsCurrentProject currentProjectProvider,
                     Func <Project, ISpecForSprintInProject> projectSprintFactory,
                     Func <ISpecForOpenSprint> openSprintFactory,
                     Func <ISpecForClosedSprint> closedSprintFactory)
 {
     this.data = data ?? throw new ArgumentNullException(nameof(data));
     this.currentProjectProvider = currentProjectProvider ?? throw new ArgumentNullException(nameof(currentProjectProvider));
     this.projectSprintFactory   = projectSprintFactory ?? throw new ArgumentNullException(nameof(projectSprintFactory));
     this.openSprintFactory      = openSprintFactory ?? throw new ArgumentNullException(nameof(openSprintFactory));
     this.closedSprintFactory    = closedSprintFactory ?? throw new ArgumentNullException(nameof(closedSprintFactory));
 }
 public CurrentProjectCriterionAddingSpecProviderDecorator(Search search,
                                                           IGetsTicketSpecification wrapped,
                                                           IGetsWhetherSearchContainsProjectCriteria projectCriteriaDetector,
                                                           IGetsCurrentProject projectProvider,
                                                           Func <IIdentity <Project>, ISpecForTicketInProject> projectSpecFactory)
 {
     this.search  = search ?? throw new ArgumentNullException(nameof(search));
     this.wrapped = wrapped ?? throw new ArgumentNullException(nameof(wrapped));
     this.projectCriteriaDetector = projectCriteriaDetector ?? throw new ArgumentNullException(nameof(projectCriteriaDetector));
     this.projectProvider         = projectProvider ?? throw new ArgumentNullException(nameof(projectProvider));
     this.projectSpecFactory      = projectSpecFactory ?? throw new ArgumentNullException(nameof(projectSpecFactory));
 }
Beispiel #4
0
 public CurrentProjectBackfillingTicketReferenceParserDecorator(IParsesTicketReference wrapped,
                                                                IGetsCurrentProject currentProjectProvider)
 {
     if (currentProjectProvider == null)
     {
         throw new ArgumentNullException(nameof(currentProjectProvider));
     }
     if (wrapped == null)
     {
         throw new ArgumentNullException(nameof(wrapped));
     }
     this.wrapped = wrapped;
     this.currentProjectProvider = currentProjectProvider;
 }
        public void Create_ticket_sets_project_using_current_project([Frozen, CreatesATicket] ICreatesTicket wrappedInstance,
                                                                     [Frozen] IGetsCurrentProject projectGetter,
                                                                     Project project,
                                                                     CreateTicketRequest request,
                                                                     CurrentProjectSettingTicketFactoryDecorator sut)
        {
            // Arrange
            Mock.Get(projectGetter).Setup(x => x.GetCurrentProject()).Returns(project);

            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(result?.Project, Is.SameAs(project));
        }
        public void Create_ticket_advances_the_ticket_number([Frozen, CreatesATicket] ICreatesTicket wrappedInstance,
                                                             [Frozen] IGetsCurrentProject projectGetter,
                                                             Project project,
                                                             CreateTicketRequest request,
                                                             CurrentProjectSettingTicketFactoryDecorator sut)
        {
            // Arrange
            Mock.Get(projectGetter).Setup(x => x.GetCurrentProject()).Returns(project);
            var previousTicketNumber = project.NextAvailableTicketNumber;

            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(project.NextAvailableTicketNumber, Is.EqualTo(previousTicketNumber + 1));
        }
        public void GetReference_backfills_current_project_code_when_it_is_empty([Frozen] IParsesTicketReference wrapped,
                                                                                 [Frozen] IGetsCurrentProject projectProvider,
                                                                                 CurrentProjectBackfillingTicketReferenceParserDecorator sut,
                                                                                 TicketReference reference)
        {
            Mock.Get(wrapped)
            .Setup(x => x.GetReference("ABC", 10))
            .Returns(reference);
            Mock.Get(projectProvider)
            .Setup(x => x.GetCurrentProject())
            .Returns(new Project {
                Code = "ABC"
            });

            var result = sut.GetReference(null, 10);

            Assert.That(result, Is.SameAs(reference));
        }
        public CurrentProjectSettingTicketFactoryDecorator(ICreatesTicket wrappedInstance,
                                                           IGetsCurrentProject projectGetter,
                                                           ILog logger)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (wrappedInstance == null)
            {
                throw new ArgumentNullException(nameof(wrappedInstance));
            }
            if (projectGetter == null)
            {
                throw new ArgumentNullException(nameof(projectGetter));
            }

            this.wrappedInstance = wrappedInstance;
            this.projectGetter   = projectGetter;
            this.logger          = logger;
        }
Beispiel #9
0
 public SprintCreator(ICreatesValidators <CreateSprintRequest> validatorFactory,
                      IGetsCurrentProject projectGetter,
                      IEntityData sprintRepo,
                      IGetsTransaction transactionFactory,
                      IResponseFactory <CreateSprintResponse> responseFactory,
                      ISprintFactory sprintFactory)
 {
     if (sprintFactory == null)
     {
         throw new ArgumentNullException(nameof(sprintFactory));
     }
     if (responseFactory == null)
     {
         throw new ArgumentNullException(nameof(responseFactory));
     }
     if (transactionFactory == null)
     {
         throw new ArgumentNullException(nameof(transactionFactory));
     }
     if (sprintRepo == null)
     {
         throw new ArgumentNullException(nameof(sprintRepo));
     }
     if (projectGetter == null)
     {
         throw new ArgumentNullException(nameof(projectGetter));
     }
     if (validatorFactory == null)
     {
         throw new ArgumentNullException(nameof(validatorFactory));
     }
     this.sprintFactory      = sprintFactory;
     this.responseFactory    = responseFactory;
     this.transactionFactory = transactionFactory;
     this.sprintRepo         = sprintRepo;
     this.projectGetter      = projectGetter;
     this.validatorFactory   = validatorFactory;
 }
        public void GetCurrentProject_adds_project_to_session_if_using_wrapped_service([HasIdentity] Project project,
                                                                                       [Frozen] IAppSessionStore store,
                                                                                       [Frozen] IGetsCurrentProject wrapped,
                                                                                       CurrentlyChosenProjectDecorator sut)
        {
            IIdentity <Project> id = null;

            Mock.Get(store).Setup(x => x.TryGet(SessionKey.CurrentProjectIdentity, out id)).Returns(false);
            Mock.Get(wrapped).Setup(x => x.GetCurrentProject()).Returns(project);

            sut.GetCurrentProject();

            Mock.Get(store)
            .Verify(x => x.Set(SessionKey.CurrentProjectIdentity, project.GetIdentity()), Times.Once);
        }
        public void GetCurrentProject_returns_project_from_wrapped_service_if_not_already_chosen([HasIdentity] Project project,
                                                                                                 [Frozen] IAppSessionStore store,
                                                                                                 [Frozen] IGetsCurrentProject wrapped,
                                                                                                 CurrentlyChosenProjectDecorator sut)
        {
            IIdentity <Project> id = null;

            Mock.Get(store).Setup(x => x.TryGet(SessionKey.CurrentProjectIdentity, out id)).Returns(false);
            Mock.Get(wrapped).Setup(x => x.GetCurrentProject()).Returns(project);

            Assert.That(() => sut.GetCurrentProject(), Is.SameAs(project));
        }
 public ProjectIdentityFromCreateTicketRequestProvider(IGetsCurrentProject projectProvider)
 {
     this.projectProvider = projectProvider ?? throw new ArgumentNullException(nameof(projectProvider));
 }
 public ListSprintsRequestProjectIdentityProvider(IGetsCurrentProject projectProvider)
 {
     this.projectProvider = projectProvider ?? throw new ArgumentNullException(nameof(projectProvider));
 }
 public ProjectIdentityFromCreateSprintRequestProvider(IGetsCurrentProject currentProjectProvider)
 {
     this.currentProjectProvider = currentProjectProvider ?? throw new ArgumentNullException(nameof(currentProjectProvider));
 }