func TestObjFindEventsByType(t *testing.T) { obj := models.NewIntellectualObject() // Add a creation event creationEvent := testutil.MakePremisEvent() creationEvent.EventType = constants.EventCreation obj.PremisEvents = append(obj.PremisEvents, creationEvent) // Add identifier assignment event idEvent := testutil.MakePremisEvent() idEvent.EventType = constants.EventIdentifierAssignment obj.PremisEvents = append(obj.PremisEvents, idEvent) // Add an ingest event ingestEvent := testutil.MakePremisEvent() ingestEvent.EventType = constants.EventIngestion obj.PremisEvents = append(obj.PremisEvents, ingestEvent) creationEvents := obj.FindEventsByType(constants.EventCreation) idEvents := obj.FindEventsByType(constants.EventIdentifierAssignment) ingestEvents := obj.FindEventsByType(constants.EventIngestion) require.Equal(t, 1, len(creationEvents)) require.Equal(t, 1, len(idEvents)) require.Equal(t, 1, len(ingestEvents)) assert.Equal(t, creationEvent.Identifier, creationEvents[0].Identifier) assert.Equal(t, idEvent.Identifier, idEvents[0].Identifier) assert.Equal(t, ingestEvent.Identifier, ingestEvents[0].Identifier) }
func TestNewIntellectualObject(t *testing.T) { obj := models.NewIntellectualObject() assert.NotNil(t, obj.GenericFiles) assert.NotNil(t, obj.PremisEvents) assert.NotNil(t, obj.IngestFilesIgnored) assert.NotNil(t, obj.IngestTags) }
func getEmptyValidationResult() *validation.ValidationResult { return &validation.ValidationResult{ ParseSummary: models.NewWorkSummary(), ValidationSummary: models.NewWorkSummary(), IntellectualObject: models.NewIntellectualObject(), } }
func TestFindTag(t *testing.T) { obj := models.NewIntellectualObject() obj.IngestTags = append(obj.IngestTags, models.NewTag("file1", "label1", "value1")) obj.IngestTags = append(obj.IngestTags, models.NewTag("file2", "label2", "value2")) obj.IngestTags = append(obj.IngestTags, models.NewTag("file3", "label3", "value3.0")) obj.IngestTags = append(obj.IngestTags, models.NewTag("file3", "label3", "value3.1")) obj.IngestTags = append(obj.IngestTags, models.NewTag("file4", "label3", "value3.2")) tags1 := obj.FindTag("label1") tags2 := obj.FindTag("label2") tags3 := obj.FindTag("label3") tagsx := obj.FindTag("Elmer Fudd") require.NotNil(t, tags1) assert.Equal(t, "value1", tags1[0].Value) require.NotNil(t, tags2) assert.Equal(t, "value2", tags2[0].Value) require.NotNil(t, tags3) assert.Equal(t, 3, len(tags3)) assert.Equal(t, "value3.0", tags3[0].Value) assert.Equal(t, "value3.1", tags3[1].Value) assert.Equal(t, "value3.2", tags3[2].Value) assert.Nil(t, tagsx) }