Ejemplo n.º 1
0
        AddTicketWorkLogModel GetModel(TicketReference ticketRef)
        {
            var model = TempData.TryGet <AddTicketWorkLogModel>(ModelKey) ?? new AddTicketWorkLogModel();

            model.TicketReference = ticketRef;
            return(model);
        }
Ejemplo n.º 2
0
 public TicketReferenceEquals(TicketReference reference)
 {
     if (reference == null)
     {
         throw new ArgumentNullException(nameof(reference));
     }
     this.reference = reference;
 }
Ejemplo n.º 3
0
 Ticket GetTicket(TicketReference reference)
 {
     if (reference == null)
     {
         return(null);
     }
     return(ticketProvider.GetTicketByReference(reference));
 }
        public void CreateTicketRelationship_returns_null_if_relationship_id_is_null(TicketReference ticketReference,
                                                                                     RelationshipParticipant participationType,
                                                                                     TicketRelationshipFactory sut)
        {
            // Act
            var result = sut.CreateTicketRelationship(null, ticketReference, participationType);

            // Assert
            Assert.That(result, Is.Null);
        }
Ejemplo n.º 5
0
        public void GetTicketDetailDto_returns_null_when_the_ticket_is_not_found([Frozen] IGetsTicketByReference ticketProvider,
                                                                                 TicketDetailDtoProvider sut,
                                                                                 TicketReference reference)
        {
            Mock.Get(ticketProvider)
            .Setup(x => x.GetTicketByReference(reference))
            .Returns(() => null);
            var result = sut.GetTicketDetailDto(reference);

            Assert.That(result, Is.Null);
        }
        public TicketDetailDto GetTicketDetailDto(TicketReference reference)
        {
            var result = wrapped.GetTicketDetailDto(reference);

            if (result == null)
            {
                return(null);
            }

            result.CanEdit = capabilityProvider.DoesUserHaveCapability(TicketCapability.Edit, Identity.Create <Ticket>(result.Id));
            return(result);
        }
Ejemplo n.º 7
0
        public Uri GetViewTicketUri(TicketReference reference)
        {
            if (reference == null)
            {
                return(null);
            }
            var uriString = helper.Action(nameof(TicketController.Index),
                                          typeof(TicketController).AsControllerName(),
                                          new { id = reference });

            logger.DebugFormat("View ticket URL:{0}", uriString);
            return(new Uri(baseUriProvider.GetBaseUri(), uriString));
        }
        public void ParseReferece_returns_the_result_from_the_wrapped_instance_when_it_is_complete([Frozen] IParsesTicketReference wrapped,
                                                                                                   string input,
                                                                                                   CurrentProjectBackfillingTicketReferenceParserDecorator sut)
        {
            var reference = new TicketReference("ABC", 123);

            Mock.Get(wrapped)
            .Setup(x => x.ParseReferece(input))
            .Returns(reference);
            var result = sut.ParseReferece(input);

            Assert.That(result, Is.SameAs(reference));
        }
Ejemplo n.º 9
0
        public ActionResult Index(TicketReference id)
        {
            var ticket = ticketDetailProvider.GetTicketDetailDto(id);

            if (ReferenceEquals(ticket, null))
            {
                logger.DebugFormat("Ticket reference (to view) not found: {0}", id);
                return(HttpNotFound());
            }

            var model = GetViewTicketModel(ticket);

            return(View(model));
        }
Ejemplo n.º 10
0
        public void GetTicketByReference_returns_null_when_no_tickets_match([InMemory] IEntityData repo,
                                                                            TicketReference reference)
        {
            var spec = Mock.Of <ISpecForTicketReferenceEquality>();

            Mock.Get(spec)
            .Setup(x => x.GetExpression())
            .Returns((Ticket x) => false);
            var sut = new TicketReferenceQuery(repo, refParam => spec);

            var result = sut.GetTicketByReference(reference);

            Assert.That(result, Is.Null);
        }
Ejemplo n.º 11
0
        public void GetTicketByReference_uses_the_specification_factory_with_a_ref([InMemory] IEntityData repo,
                                                                                   [TrueSpecExpr] ISpecForTicketReferenceEquality spec,
                                                                                   TicketReference reference)
        {
            TicketReference refProvidedToFactory = null;
            var             sut = new TicketReferenceQuery(repo, refParam => {
                refProvidedToFactory = refParam;
                return(spec);
            });

            sut.GetTicketByReference(reference);

            Assert.That(refProvidedToFactory, Is.SameAs(reference));
        }
Ejemplo n.º 12
0
        public void GetViewTicketUri_gets_correct_Uri_for_editing_a_ticket(TicketReference reference, Uri expected)
        {
            var helper          = Mock.Of <UrlHelper>();
            var baseUriProvider = Mock.Of <IProvidesApplicationBaseUri>(x => x.GetBaseUri() == new Uri("http://example.com/"));
            var sut             = new TicketUriProvider(helper, Mock.Of <ILog>(), baseUriProvider);

            Mock.Get(helper)
            .Setup(x => x.Action(nameof(TicketController.Edit), typeof(TicketController).AsControllerName(), It.IsAny <object>()))
            .Returns("/One/Two");

            var result = sut.GetEditTicketUri(reference);

            Assert.That(result, Is.EqualTo(new Uri("http://example.com/One/Two")));
        }
Ejemplo n.º 13
0
        public ActionResult Edit(TicketReference id)
        {
            var ticket = ticketProvider.GetTicketByReference(id);

            if (ReferenceEquals(ticket, null))
            {
                logger.DebugFormat("Ticket reference (to edit) not found: {0}", id);
                return(HttpNotFound());
            }

            var editModelFactory = editTicketModelFactory.Value;
            var model            = editModelFactory.GetEditTicketModel(ticket);

            return(View(model));
        }
Ejemplo n.º 14
0
        public void CreateTicketRelationship_sets_up_relationship([Frozen, InMemory] IEntityData data,
                                                                  Relationship relationship,
                                                                  TicketReference ticketReference,
                                                                  RelationshipParticipant participationType,
                                                                  TicketRelationshipFactory sut)
        {
            // Arrange
            data.Add(relationship);

            // Act
            var result = sut.CreateTicketRelationship(relationship.GetIdentity(), ticketReference, participationType);

            // Assert
            Assert.That(result?.Relationship, Is.SameAs(relationship));
        }
        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));
        }
Ejemplo n.º 16
0
        public void GetTicketDetailDto_returns_mapped_dto_when_ticket_exists([Frozen] IGetsTicketByReference ticketProvider,
                                                                             [Frozen, InMemory] IEntityData data,
                                                                             [Frozen] IMapper mapper,
                                                                             TicketDetailDtoProvider sut,
                                                                             TicketReference reference,
                                                                             TicketDetailDto dto,
                                                                             Ticket ticket)
        {
            Mock.Get(ticketProvider)
            .Setup(x => x.GetTicketByReference(reference))
            .Returns(ticket);
            data.Add(ticket);
            Mock.Get(mapper)
            .Setup(x => x.Map <TicketDetailDto>(ticket))
            .Returns(dto);
            var result = sut.GetTicketDetailDto(reference);

            Assert.That(result, Is.SameAs(dto));
        }
Ejemplo n.º 17
0
        public void GetTicketByReference_uses_spec_to_filter_entity_query_results([InMemory] IEntityData repo,
                                                                                  Ticket ticketOne,
                                                                                  Ticket ticketTwo,
                                                                                  Ticket ticketThree,
                                                                                  TicketReference reference)
        {
            var spec = Mock.Of <ISpecForTicketReferenceEquality>();

            Mock.Get(spec)
            .Setup(x => x.GetExpression())
            .Returns((Ticket x) => x == ticketTwo);
            repo.Add(ticketOne);
            repo.Add(ticketTwo);
            repo.Add(ticketThree);
            var sut = new TicketReferenceQuery(repo, refParam => spec);

            var result = sut.GetTicketByReference(reference);

            Assert.That(result, Is.SameAs(ticketTwo));
        }
Ejemplo n.º 18
0
        public void GetTicketReference_returns_correct_number_of_characters_consumed_in_reference(string ticketRef,
                                                                                                  int expectedChars)
        {
            // Arrange
            var parser    = Mock.Of <IParsesTicketReference>();
            var reference = new TicketReference();
            var ticketRefWithoutOtherChars = System.Text.RegularExpressions.Regex.Replace(ticketRef, @"[^0-9A-Za-z]+", String.Empty);

            Mock.Get(parser)
            .Setup(x => x.ParseReferece(ticketRefWithoutOtherChars))
            .Returns(reference);
            var sut      = new Ext.TicketReferenceParser(parser);
            var iterator = new StringSlice(ticketRef);
            int charCount;

            // Act
            sut.GetTicketReference(iterator, out charCount);

            // Assert
            Assert.That(charCount, Is.EqualTo(expectedChars));
        }
Ejemplo n.º 19
0
        public TicketDetailDto GetTicketDetailDto(TicketReference reference)
        {
            var ticket = GetTicket(reference);

            if (ticket == null)
            {
                return(null);
            }

            var eagerFetchedTicket = data
                                     .Query <Ticket>()
                                     .Where(x => x == ticket)
                                     .FetchChildren(x => x.Comments)
                                     .FetchChildren(x => x.PrimaryRelationships)
                                     .FetchChildren(x => x.SecondaryRelationships)
                                     .FetchChildren(x => x.Labels)
                                     .FetchChild(x => x.Project)
                                     .FetchChild(x => x.User)
                                     .FetchChild(x => x.Type)
                                     .AsEnumerable()
                                     .FirstOrDefault();

            return(mapper.Map <TicketDetailDto>(eagerFetchedTicket));
        }
Ejemplo n.º 20
0
 public Uri GetEditTicketUri(TicketReference reference)
 {
     return(new Uri($"EditTicket/{reference}"));
 }
Ejemplo n.º 21
0
        public ActionResult Index(TicketReference id)
        {
            var model = GetModel(id);

            return(View(model));
        }
Ejemplo n.º 22
0
        public void CreateTicketRelationship_returns_null_if_participant_is_undefined_value(IIdentity <Relationship> relationshipId,
                                                                                            TicketReference ticketReference,
                                                                                            TicketRelationshipFactory sut)
        {
            // Act
            var result = sut.CreateTicketRelationship(relationshipId, ticketReference, (RelationshipParticipant)(-100));

            // Assert
            Assert.That(result, Is.Null);
        }
Ejemplo n.º 23
0
 public Uri GetViewTicketUri(TicketReference reference)
 {
     return(new Uri($"ViewTicket/{reference}"));
 }
Ejemplo n.º 24
0
 public Uri GetAbsoluteUri(TicketReference ticketRef)
 {
     return(wrappedUriProvider.GetViewTicketUri(ticketRef));
 }
Ejemplo n.º 25
0
        public void CreateTicketRelationship_sets_up_primary_ticket_when_participation_is_secondary([Frozen] IGetsTicketByReference refQuery,
                                                                                                    IIdentity <Relationship> relationshipId,
                                                                                                    TicketReference ticketReference,
                                                                                                    Ticket relatedTicket,
                                                                                                    TicketRelationshipFactory sut)
        {
            // Arrange
            Mock.Get(refQuery).Setup(x => x.GetTicketByReference(ticketReference)).Returns(relatedTicket);

            // Act
            var result = sut.CreateTicketRelationship(relationshipId, ticketReference, RelationshipParticipant.Secondary);

            // Assert
            Assert.That(result?.PrimaryTicket, Is.SameAs(relatedTicket));
        }