func (_m *TagReaderWriter) FindAllDescendants(tagID int, excludeIDs []int) ([]*models.TagPath, error) {
	ret := _m.Called(tagID, excludeIDs)

	var r0 []*models.TagPath
	if rf, ok := ret.Get(0).(func(int, []int) []*models.TagPath); ok {
		r0 = rf(tagID, excludeIDs)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]*models.TagPath)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(int, []int) error); ok {
		r1 = rf(tagID, excludeIDs)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
// FindAllDescendants provides a mock function with given fields: tagID, excludeIDs
FindAllDescendants provides a mock function with given fields: tagID, excludeIDs
// FindAllDescendants provides a mock function with given fields : tagID excludeIDs
func (_m *TagReaderWriter) FindAllDescendants(tagID int, excludeIDs []int) ([]*models.TagPath, error) {
	ret := _m.Called(tagID, excludeIDs)
	var r0 []*models.TagPath
	if rf, ok := ret.Get(0).(func(int, []int) []*models.TagPath); ok {
		r0 = rf(tagID, excludeIDs)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]*models.TagPath)
		}
	}
	var r1 error
	if rf, ok := ret.Get(1).(func(int, []int) error); ok {
		r1 = rf(tagID, excludeIDs)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}
func ( _m * TagReaderWriter ) FindAllDescendants ( tagID int , excludeIDs [ ] int ) ( [ ] * models . TagPath , error ) { ret := _m . Called ( tagID , excludeIDs ) var r0 [ ] * models . TagPath if rf , ok := ret . Get ( 0 ) . ( func ( int , [ ] int ) [ ] * models . TagPath ) ; ok { r0 = rf ( tagID , excludeIDs ) } else { if ret . Get ( 0 ) != nil { r0 = ret . Get ( 0 ) . ( [ ] * models . TagPath ) } } var r1 error if rf , ok := ret . Get ( 1 ) . ( func ( int , [ ] int ) error ) ; ok { r1 = rf ( tagID , excludeIDs ) } else { r1 = ret . Error ( 1 ) } return r0 , r1 }
FindAllDescendants provides a mock function with given fields: tagID, excludeIDs
FindAllDescendants provides a mock function with given fields : tagID excludeIDs