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)); }
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)); }
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; }
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)); }