public void CreateDyntaxaRevisionReferenceRelation_WithValidData_ThenDyntaxaRevisionReferenceRelationIsCreated() { // Arrange const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const string action = "Add"; const int revisionId = 1; WebDyntaxaRevisionReferenceRelation dyntaxaReferenceRelation, newDyntaxaReferenceRelation; dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create( revisionId, relatedObjectGUID, action); // Act // Create test Dyntaxa revision reference relation. dyntaxaReferenceRelation.ReferenceId = 3342; newDyntaxaReferenceRelation = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), dyntaxaReferenceRelation); // Assert Assert.IsNotNull(newDyntaxaReferenceRelation); Assert.AreNotEqual(dyntaxaReferenceRelation.Id, newDyntaxaReferenceRelation.Id); Assert.AreEqual(dyntaxaReferenceRelation.RelatedObjectGUID, newDyntaxaReferenceRelation.RelatedObjectGUID); Assert.AreEqual(3342, newDyntaxaReferenceRelation.ReferenceId); Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaReferenceRelation.CreatedBy); }
public void TestModifyReferenceRelationAndThenModifyBackToOriginalStateInSameRevisionEventAndThenUndo() { // Consts const int TestRevisionId = 24; const string TestObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const int TestReferenceId = 1030; // Step 1 - change original artfaktaReferenceRelation from TypeId = 1 to TypeId = 2 WebTaxonRevisionEvent revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon' [6010174]", OldValue = "Type='1", NewValue = "Type='2" }); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateModifyAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId, 2, 1)); // Step 2 - change from TypeId = 2 to TypeId = 1 WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateModifyAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId, 1, 2)); // Get reference relations for current revision and object GUID. List <WebDyntaxaRevisionReferenceRelation> referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(1, referenceRelations.Count); Assert.AreEqual(1, referenceRelations[0].ReferenceType); // undo last revision event TaxonManager.DeleteTaxonRevisionEvent(GetRevisionContext(), revisionEvent1.Id); referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(0, referenceRelations.Count); }
public void GetDyntaxaRevisionSpeciesFact_WhenDyntaxaRevisionSpeciesFactCreatedWithSpeciesFactExistsData_ThenCreatedRevisionSpeciesFactIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact, getDyntaxaRevisionSpeciesFact; // Create test Dyntaxa revision species fact. dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); const int STATUS_ID = 400; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; dyntaxaRevisionSpeciesFact.SpeciesFactExists = true; dyntaxaRevisionSpeciesFact.OriginalStatusId = 380; dyntaxaRevisionSpeciesFact.OriginalQualityId = 150; dyntaxaRevisionSpeciesFact.OriginalReferenceId = 250; dyntaxaRevisionSpeciesFact.OriginalDescription = "test"; newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); getDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact.FactorId, dyntaxaRevisionSpeciesFact.TaxonId, dyntaxaRevisionSpeciesFact.RevisionId); Assert.IsNotNull(getDyntaxaRevisionSpeciesFact); Assert.AreEqual(STATUS_ID, getDyntaxaRevisionSpeciesFact.StatusId); Assert.IsTrue(dyntaxaRevisionSpeciesFact.SpeciesFactExists); Assert.AreEqual(380, dyntaxaRevisionSpeciesFact.OriginalStatusId); Assert.AreEqual(150, dyntaxaRevisionSpeciesFact.OriginalQualityId); Assert.AreEqual(250, dyntaxaRevisionSpeciesFact.OriginalReferenceId); Assert.AreEqual("test", dyntaxaRevisionSpeciesFact.OriginalDescription); }
public void GetDyntaxaRevisionReferenceRelation_WhenTwoReferenceRelationWithSameRelatedObjectGUIDExists_ThenTwoReferenceRelationIsReturned() { // Arrange const int revisionId = 24; const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const string rel1Action = "Add"; const string rel2Action = "Delete"; DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.Create(revisionId, relatedObjectGUID, rel1Action)); DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.Create(revisionId, relatedObjectGUID, rel2Action)); // Act var newReferenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), revisionId, relatedObjectGUID); // Assert Assert.IsNotNull(newReferenceRelations); Assert.AreEqual(2, newReferenceRelations.Count); Assert.AreEqual(rel1Action, newReferenceRelations[0].Action); Assert.AreEqual(rel2Action, newReferenceRelations[1].Action); }
public void CreateDyntaxaRevisionSpeciesFact_WithSpeciesFactStatusNullData_ThenDyntaxaRevisionSpeciesFactIsCreated() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact; // Create test Dyntaxa revision species fact. dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); const int STATUS_ID = 400; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; dyntaxaRevisionSpeciesFact.StatusId = null; dyntaxaRevisionSpeciesFact.QualityId = null; dyntaxaRevisionSpeciesFact.ReferenceId = null; dyntaxaRevisionSpeciesFact.SpeciesFactExists = true; dyntaxaRevisionSpeciesFact.OriginalStatusId = STATUS_ID; dyntaxaRevisionSpeciesFact.OriginalQualityId = 10; dyntaxaRevisionSpeciesFact.OriginalReferenceId = 23; dyntaxaRevisionSpeciesFact.OriginalDescription = "test"; newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); Assert.IsNotNull(newDyntaxaRevisionSpeciesFact); Assert.IsTrue(dyntaxaRevisionSpeciesFact.SpeciesFactExists); Assert.IsNull(dyntaxaRevisionSpeciesFact.StatusId); Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id); Assert.AreEqual(dyntaxaRevisionSpeciesFact.Description, newDyntaxaRevisionSpeciesFact.Description); Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.OriginalStatusId); Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy); }
public void TestSetRevisionReferenceRelationPublished() { // Act var result = DyntaxaManager.SetRevisionReferenceRelationPublished(GetRevisionContext(), 24); // Assert Assert.AreEqual(true, result); }
public void TestAddTwoReferenceRelationsWithSameReferenceButDifferentType() { // Consts const int TestRevisionId = 24; const string TestObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const int TestReferenceId3200 = 3200; // Arrange WebTaxonRevisionEvent revisionEvent1; // Act // Add new reference 3200 with type 1 revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon [6010174]", OldValue = "NULL", NewValue = "Reference3200, Type=1" }); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateAddAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId3200, 1)); // Add new reference 3200 with type 2 WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateAddAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId3200, 2)); // Get reference relations for current revision and object GUID. List <WebDyntaxaRevisionReferenceRelation> referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(2, referenceRelations.Count); Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId); Assert.AreEqual(1, referenceRelations[0].ReferenceType); Assert.AreEqual(TestReferenceId3200, referenceRelations[1].ReferenceId); Assert.AreEqual(2, referenceRelations[1].ReferenceType); }
/// <summary> /// Set revision reference relation published flag to true /// </summary> /// <param name="clientInformation">Client information.</param> /// <param name="revisionId"></param> /// <returns></returns> public bool SetRevisionReferenceRelationPublished(WebClientInformation clientInformation, int revisionId) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.SetRevisionReferenceRelationPublished(context, revisionId)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
public void CreateDyntaxaRevisionSpeciesFact_WithValidData_ThenDyntaxaRevisionSpeciesFactIsCreated() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact; // Create test Dyntaxa revision species fact. dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); const int STATUS_ID = 400; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); Assert.IsNotNull(newDyntaxaRevisionSpeciesFact); Assert.IsFalse(dyntaxaRevisionSpeciesFact.SpeciesFactExists); Assert.IsNull(dyntaxaRevisionSpeciesFact.OriginalStatusId); Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id); Assert.AreEqual(dyntaxaRevisionSpeciesFact.Description, newDyntaxaRevisionSpeciesFact.Description); Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy); dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Wolf); dyntaxaRevisionSpeciesFact.Description = "Foo'Bar"; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); Assert.IsNotNull(newDyntaxaRevisionSpeciesFact); Assert.IsFalse(dyntaxaRevisionSpeciesFact.SpeciesFactExists); Assert.IsNull(dyntaxaRevisionSpeciesFact.OriginalStatusId); Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id); Assert.AreEqual("Foo'Bar", newDyntaxaRevisionSpeciesFact.Description); Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy); dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Wolverine); dyntaxaRevisionSpeciesFact.OriginalDescription = "Foo'Bar"; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); Assert.IsNotNull(newDyntaxaRevisionSpeciesFact); Assert.IsFalse(dyntaxaRevisionSpeciesFact.SpeciesFactExists); Assert.IsNull(dyntaxaRevisionSpeciesFact.OriginalStatusId); Assert.AreNotEqual(dyntaxaRevisionSpeciesFact.Id, newDyntaxaRevisionSpeciesFact.Id); Assert.AreEqual(dyntaxaRevisionSpeciesFact.Description, newDyntaxaRevisionSpeciesFact.Description); Assert.AreEqual(STATUS_ID, newDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(GetContext().GetUser().Id, newDyntaxaRevisionSpeciesFact.CreatedBy); Assert.AreEqual("Foo'Bar", newDyntaxaRevisionSpeciesFact.OriginalDescription); }
/// <summary> /// Get all Dyntaxa Revision Reference relation items. /// </summary> /// <param name="clientInformation">Client information.</param> /// <param name="revisionId">Revision id.</param> /// <returns></returns> public List <WebDyntaxaRevisionReferenceRelation> GetAllDyntaxaRevisionReferenceRelations( WebClientInformation clientInformation, int revisionId) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.GetAllDyntaxaRevisionReferenceRelations(context, revisionId)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
public void CreateCompleteRevisionEvent_WithValidData_ThenRevisionEventIsCreated() { Int32 revisionId = 1; String affectedTaxa, oldValue, newValue; WebTaxonRevisionEvent revisionEvent, newRevisionEvent; revisionEvent = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Straminergon [1004721]", OldValue = "My old value", NewValue = "My new value" }; newRevisionEvent = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent); Assert.AreEqual(revisionEvent.CreatedBy, newRevisionEvent.CreatedBy); Assert.AreEqual(revisionEvent.TypeId, newRevisionEvent.TypeId); Assert.AreEqual(revisionEvent.OldValue, newRevisionEvent.OldValue); Assert.AreEqual(revisionEvent.NewValue, newRevisionEvent.NewValue); Assert.AreNotEqual(revisionEvent.Id, newRevisionEvent.Id); affectedTaxa = "Strami ' nergon [1004721]"; oldValue = "My old ' value"; newValue = "My new ' value"; revisionEvent = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = affectedTaxa, OldValue = oldValue, NewValue = newValue }; newRevisionEvent = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent); Assert.AreEqual(revisionEvent.CreatedBy, newRevisionEvent.CreatedBy); Assert.AreEqual(revisionEvent.TypeId, newRevisionEvent.TypeId); Assert.AreEqual(oldValue, newRevisionEvent.OldValue); Assert.AreEqual(newValue, newRevisionEvent.NewValue); Assert.AreNotEqual(revisionEvent.Id, newRevisionEvent.Id); }
public void GetDyntaxaRevisionSpeciesFact_WhenWrongFactorId_ThenNullIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, newDyntaxaRevisionSpeciesFact, getDyntaxaRevisionSpeciesFact; const int STATUS_ID = 400; // Create test Dyntaxa revision species fact. dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact.RevisionId = 24; dyntaxaRevisionSpeciesFact.IsPublished = false; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; newDyntaxaRevisionSpeciesFact = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); getDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact( GetRevisionContext(), (Int32)FactorId.SwedishOccurrence, (Int32)TaxonId.Bear, 24); Assert.IsNull(getDyntaxaRevisionSpeciesFact); }
/// <summary> /// Creates a new Dyntaxa revision species fact. /// </summary> /// <param name="clientInformation">Client information.</param> /// <param name="dyntaxaRevisionSpeciesFact">Object representing the Dyntaxa revision species fact.</param> /// <returns> /// Created Dyntaxa revision species fact. /// </returns> public WebDyntaxaRevisionSpeciesFact CreateDyntaxaRevisionSpeciesFact( WebClientInformation clientInformation, WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(context, dyntaxaRevisionSpeciesFact)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
/// <summary> /// Get all dyntaxa revision species fact latest change for specific revision id /// </summary> /// <param name="clientInformation"></param> /// <param name="taxonRevisionId"></param> /// <returns></returns> public List <WebDyntaxaRevisionSpeciesFact> GetAllDyntaxaRevisionSpeciesFacts( WebClientInformation clientInformation, Int32 taxonRevisionId) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.GetAllDyntaxaRevisionSpeciesFacts(context, taxonRevisionId)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
/// <summary> /// Gets the dyntaxa revision reference relation by identifier. /// </summary> /// <param name="clientInformation">Client information.</param> /// <param name="id">The identifier.</param> /// <returns></returns> public WebDyntaxaRevisionReferenceRelation GetDyntaxaRevisionReferenceRelationById( WebClientInformation clientInformation, int id) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.GetDyntaxaRevisionReferenceRelationById(context, id)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
public void SetRevisionSpeciesFactPublished() { const int STATUS_ID = 400; // Create test Dyntaxa revision species fact. var dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact.RevisionId = 24; dyntaxaRevisionSpeciesFact.IsPublished = false; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); var result = DyntaxaManager.SetRevisionSpeciesFactPublished(GetRevisionContext(), 24); Assert.AreEqual(true, result); }
/// <summary> /// Creates a new complete Revision event, i.e. all revision event data is set. /// </summary> /// <param name="clientInformation">The client information.</param> /// <param name="taxonRevisionEvent"> /// The revision Event. /// </param> /// <returns> /// The newly created object. /// </returns> public WebTaxonRevisionEvent CreateCompleteRevisionEvent( WebClientInformation clientInformation, WebTaxonRevisionEvent taxonRevisionEvent) { using (WebServiceContext context = new WebServiceContext(clientInformation)) { try { return(DyntaxaManager.CreateCompleteRevisionEvent(context, taxonRevisionEvent)); } catch (Exception exception) { WebServiceData.LogManager.LogError(context, exception); throw; } } }
public void GetAllDyntaxaRevisionSpeciesFacts_WhenSpeciesFactExists_ThenSpeciesFactIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact, getDyntaxaRevisionSpeciesFact; List <WebDyntaxaRevisionSpeciesFact> dyntaxaRevisionSpeciesFacts; const int STATUS_ID = 400; // Create test Dyntaxa revision species fact. dyntaxaRevisionSpeciesFact = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact.RevisionId = 24; dyntaxaRevisionSpeciesFact.IsPublished = false; dyntaxaRevisionSpeciesFact.StatusId = STATUS_ID; DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact); dyntaxaRevisionSpeciesFacts = DyntaxaManager.GetAllDyntaxaRevisionSpeciesFacts( GetRevisionContext(), 24); Assert.AreEqual(1, dyntaxaRevisionSpeciesFacts.Count); }
public void GetAllDyntaxaRevisionReferenceRelations_WhenReferenceRelationExists_ThenReferenceRelationIsReturned() { //Arrange List <WebDyntaxaRevisionReferenceRelation> referenceRelations; const int revisionId = 24; const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const string action = "Add"; var dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create( revisionId, relatedObjectGUID, action); DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(GetRevisionContext(), dyntaxaReferenceRelation); // Act referenceRelations = DyntaxaManager.GetAllDyntaxaRevisionReferenceRelations( GetRevisionContext(), revisionId); // Assert Assert.AreEqual(1, referenceRelations.Count); }
public void GetDyntaxaRevisionReferenceRelation_WhenWrongRevisionId_ThenEmptyListIsReturned() { // Arrange const int revisionId = 24; const int wrongRevisionId = 25; const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const string action = "Add"; var dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create( revisionId, relatedObjectGUID, action); DyntaxaManager.CreateDyntaxaRevisionReferenceRelation(GetRevisionContext(), dyntaxaReferenceRelation); // Act var newReferenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), wrongRevisionId, relatedObjectGUID); // Assert Assert.IsNotNull(newReferenceRelations); Assert.AreEqual(0, newReferenceRelations.Count); }
public void TestModifyReferenceRelationOneTime() { // Consts const int TestRevisionId = 24; const string TestObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const int TestReferenceId = 1030; // Step 1 - change original artfaktaReferenceRelation from TypeId = 1 to TypeId = 2 WebDyntaxaRevisionReferenceRelation revisionReferenceRelation = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateModifyAction( TestRevisionId, 5000, TestObjectGUID, TestReferenceId, 2, 1)); // Get reference relations for current revision and object GUID. List <WebDyntaxaRevisionReferenceRelation> referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(1, referenceRelations.Count); Assert.AreEqual(2, referenceRelations[0].ReferenceType); // Test with character ' in GUID. referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, "urn:lsid:dyntaxa.se:Taxon:'6010174"); Assert.IsTrue(referenceRelations.IsEmpty()); }
public void GetDyntaxaRevisionReferenceRelationById_WhenDyntaxaRevisionReferenceRelationCreated_ThenCreatedRevisionReferenceRelationIsReturned() { // Arrange const int revisionId = 24; const string relatedObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const string action = "Add"; const int referenceId = 252; WebDyntaxaRevisionReferenceRelation dyntaxaReferenceRelation = WebDyntaxaReferenceRelationTestFactory.Create( revisionId, relatedObjectGUID, action); dyntaxaReferenceRelation.ReferenceId = referenceId; var newReferenceRelations = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), dyntaxaReferenceRelation); // Act WebDyntaxaRevisionReferenceRelation getReferenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelationById( GetRevisionContext(), newReferenceRelations.Id); // Assert Assert.IsNotNull(getReferenceRelations); Assert.AreEqual(relatedObjectGUID, getReferenceRelations.RelatedObjectGUID); Assert.AreEqual(action, getReferenceRelations.Action); Assert.AreEqual(referenceId, getReferenceRelations.ReferenceId); }
public void TestDeleteReferenceAndThenAddItAgainAndThenUndo() { // Consts const int TestRevisionId = 24; const string TestObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const int TestReferenceId3200 = 3200; WebTaxonRevisionEvent revisionEvent1; WebTaxonRevisionEvent revisionEvent2; // Act // Step 1 - Delete reference 3200, Type=2 revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon [6010174]", OldValue = "Ref3200,Typ1", NewValue = "Deleted" }); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateDeleteAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId3200, 2, 2)); // Get reference relations for current revision and object GUID. List <WebDyntaxaRevisionReferenceRelation> referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(1, referenceRelations.Count); Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId); Assert.AreEqual("Delete", referenceRelations[0].Action); // Step 2 - Add reference 3200, Type=1 revisionEvent2 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon [6010174]", OldValue = "Deleted", NewValue = "Ref3200" }); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateAddAction( TestRevisionId, revisionEvent2.Id, TestObjectGUID, TestReferenceId3200, 2)); // Get reference relations for current revision and object GUID. referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(1, referenceRelations.Count); Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId); Assert.AreEqual("Add", referenceRelations[0].Action); }
public void TestAddTwoReferenceRelationsToOneObjectGUIDAndThenModifyTypeOfOneOfTheReferences() { // Consts const int TestRevisionId = 24; const string TestObjectGUID = "urn:lsid:dyntaxa.se:Taxon:6010174"; const int TestReferenceId3200 = 3200; const int TestReferenceId1500 = 1500; // Arrange WebTaxonRevisionEvent revisionEvent1; WebTaxonRevisionEvent revisionEvent2; // Act // Add new reference 3200 with type 2 revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon [6010174]", OldValue = "NULL", NewValue = "Reference3200" }); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep1 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateAddAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId3200, 2)); // Add new reference 1500 with type 1 WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep2 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateAddAction( TestRevisionId, revisionEvent1.Id, TestObjectGUID, TestReferenceId1500, 1)); // Get reference relations for current revision and object GUID. List <WebDyntaxaRevisionReferenceRelation> referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(2, referenceRelations.Count); Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId); Assert.AreEqual(2, referenceRelations[0].ReferenceType); Assert.AreEqual(TestReferenceId1500, referenceRelations[1].ReferenceId); // Change type of Reference 3200 to type 1 revisionEvent2 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 19, RevisionId = TestRevisionId, AffectedTaxa = "Taxon [6010174]", OldValue = "Type=2", NewValue = "Type=1" }); // Add eller Modify? //WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep3 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( // GetRevisionContext(), // WebDyntaxaReferenceRelationTestFactory.CreateAddAction( // TestRevisionId, // revisionEvent2.Id, // TestObjectGUID, // TestReferenceId3200, // 1)); WebDyntaxaRevisionReferenceRelation revisionReferenceRelationStep3 = DyntaxaManager.CreateDyntaxaRevisionReferenceRelation( GetRevisionContext(), WebDyntaxaReferenceRelationTestFactory.CreateModifyAction( TestRevisionId, revisionEvent2.Id, TestObjectGUID, TestReferenceId3200, 1, 2)); // 2 eller null? // Get reference relations for current revision and object GUID. referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(2, referenceRelations.Count); Assert.AreEqual(TestReferenceId1500, referenceRelations[0].ReferenceId); Assert.AreEqual(TestReferenceId3200, referenceRelations[1].ReferenceId); Assert.AreEqual(1, referenceRelations[1].ReferenceType); // undo last revision event TaxonManager.DeleteTaxonRevisionEvent(GetRevisionContext(), revisionEvent2.Id); referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(2, referenceRelations[0].ReferenceType); // Get reference relations for current revision and object GUID. referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(2, referenceRelations.Count); Assert.AreEqual(TestReferenceId3200, referenceRelations[0].ReferenceId); Assert.AreEqual(2, referenceRelations[0].ReferenceType); Assert.AreEqual(TestReferenceId1500, referenceRelations[1].ReferenceId); // undo last revision event once more TaxonManager.DeleteTaxonRevisionEvent(GetRevisionContext(), revisionEvent1.Id); referenceRelations = DyntaxaManager.GetDyntaxaRevisionReferenceRelation( GetRevisionContext(), TestRevisionId, TestObjectGUID); Assert.AreEqual(0, referenceRelations.Count); }
public void GetDyntaxaRevisionSpeciesFact_WhenRevisionSpeciesFactIsCreatedAndLaterChanged_ThenLastChangedRevisionSpeciesFactIsReturned() { WebDyntaxaRevisionSpeciesFact dyntaxaRevisionSpeciesFact1, getDyntaxaRevisionSpeciesFact1, dyntaxaRevisionSpeciesFact2, getDyntaxaRevisionSpeciesFact2, currentDyntaxaRevisionSpeciesFact; WebTaxonRevisionEvent revisionEvent1, revisionEvent2; Int32 revisionId = 1; //------------------------------------------------------------------- // Create first dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact1 = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact1.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact1.RevisionId = revisionId; dyntaxaRevisionSpeciesFact1.IsPublished = false; dyntaxaRevisionSpeciesFact1.StatusId = 400; revisionEvent1 = new WebTaxonRevisionEvent() { CreatedBy = 2, CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=Unknown", NewValue = "StatusId=400" }; revisionEvent1 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent1); dyntaxaRevisionSpeciesFact1.RevisionEventId = revisionEvent1.Id; dyntaxaRevisionSpeciesFact1 = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact1); currentDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact( GetRevisionContext(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); //Assert first Insert Assert.AreEqual(revisionEvent1.Id, dyntaxaRevisionSpeciesFact1.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); Assert.AreEqual(400, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(dyntaxaRevisionSpeciesFact1.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); //--------------------------------------------------------------------- // Create second dyntaxa revision species fact and revision event. dyntaxaRevisionSpeciesFact2 = WebDyntaxaSpeciesFactTestFactory.Create((Int32)TaxonId.Bear); dyntaxaRevisionSpeciesFact2.FactorId = (Int32)FactorId.SwedishHistory; dyntaxaRevisionSpeciesFact2.RevisionId = revisionId; dyntaxaRevisionSpeciesFact2.IsPublished = false; dyntaxaRevisionSpeciesFact2.StatusId = 450; // changed from 400 to 450. revisionEvent2 = new WebTaxonRevisionEvent() { CreatedBy = 3, //Changed CreatedDate = DateTime.Now, TypeId = 1, RevisionId = revisionId, AffectedTaxa = "Bear", OldValue = "StatusId=400", //Changed NewValue = "StatusId=450" //Changed }; revisionEvent2 = DyntaxaManager.CreateCompleteRevisionEvent(GetRevisionContext(), revisionEvent2); dyntaxaRevisionSpeciesFact2.RevisionEventId = revisionEvent2.Id; dyntaxaRevisionSpeciesFact2 = DyntaxaManager.CreateDyntaxaRevisionSpeciesFact(GetRevisionContext(), dyntaxaRevisionSpeciesFact2); currentDyntaxaRevisionSpeciesFact = DyntaxaManager.GetDyntaxaRevisionSpeciesFact( GetRevisionContext(), (Int32)FactorId.SwedishHistory, (Int32)TaxonId.Bear, revisionId); getDyntaxaRevisionSpeciesFact1 = DyntaxaManager.GetDyntaxaRevisionSpeciesFactById(GetRevisionContext(), dyntaxaRevisionSpeciesFact1.Id); getDyntaxaRevisionSpeciesFact2 = DyntaxaManager.GetDyntaxaRevisionSpeciesFactById(GetRevisionContext(), dyntaxaRevisionSpeciesFact2.Id); // Check values. Assert.AreEqual(450, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(getDyntaxaRevisionSpeciesFact2.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(400, getDyntaxaRevisionSpeciesFact1.StatusId); Assert.AreNotEqual(getDyntaxaRevisionSpeciesFact1.StatusId, currentDyntaxaRevisionSpeciesFact.StatusId); Assert.AreEqual(revisionEvent1.Id, getDyntaxaRevisionSpeciesFact1.RevisionEventId); Assert.AreEqual(revisionEvent2.Id, getDyntaxaRevisionSpeciesFact1.ChangedInRevisionEventId); Assert.AreEqual(revisionEvent2.Id, currentDyntaxaRevisionSpeciesFact.RevisionEventId); Assert.IsFalse(currentDyntaxaRevisionSpeciesFact.IsChangedInRevisionEventIdSpecified); }