AddTicketWorkLogModel GetModel(TicketReference ticketRef) { var model = TempData.TryGet <AddTicketWorkLogModel>(ModelKey) ?? new AddTicketWorkLogModel(); model.TicketReference = ticketRef; return(model); }
public TicketReferenceEquals(TicketReference reference) { if (reference == null) { throw new ArgumentNullException(nameof(reference)); } this.reference = reference; }
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); }
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); }
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)); }
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)); }
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); }
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)); }
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"))); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
public Uri GetEditTicketUri(TicketReference reference) { return(new Uri($"EditTicket/{reference}")); }
public ActionResult Index(TicketReference id) { var model = GetModel(id); return(View(model)); }
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); }
public Uri GetViewTicketUri(TicketReference reference) { return(new Uri($"ViewTicket/{reference}")); }
public Uri GetAbsoluteUri(TicketReference ticketRef) { return(wrappedUriProvider.GetViewTicketUri(ticketRef)); }
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)); }