// Code generated by mockery v2.10.0. DO NOT EDIT.

package mocks

import (
	context "context"

	fiber "github.com/gojek/fiber"

	json "encoding/json"

	mock "github.com/stretchr/testify/mock"
)

// Component is an autogenerated mock type for the Component type
type Component struct {
	mock.Mock
}

// AddInterceptor provides a mock function with given fields: recursive, interceptors
func (_m *Component) AddInterceptor(recursive bool, interceptors ...fiber.Interceptor) {
	_va := make([]interface{}, len(interceptors))
	for _i := range interceptors {
		_va[_i] = interceptors[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, recursive)
	_ca = append(_ca, _va...)
	_m.Called(_ca...)
}

// Dispatch provides a mock function with given fields: ctx, req
func (_m *Component) Dispatch(ctx context.Context, req fiber.Request) fiber.ResponseQueue {
	ret := _m.Called(ctx, req)

	var r0 fiber.ResponseQueue
	if rf, ok := ret.Get(0).(func(context.Context, fiber.Request) fiber.ResponseQueue); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(fiber.ResponseQueue)
		}
	}

	return r0
}

// ID provides a mock function with given fields:
func (_m *Component) ID() string {
	ret := _m.Called()

	var r0 string
	if rf, ok := ret.Get(0).(func() string); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(string)
	}

	return r0
}

// Initialize provides a mock function with given fields: cfgProperties
func (_m *Component) Initialize(cfgProperties json.RawMessage) error {
	ret := _m.Called(cfgProperties)

	var r0 error
	if rf, ok := ret.Get(0).(func(json.RawMessage) error); ok {
		r0 = rf(cfgProperties)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// Kind provides a mock function with given fields:
func (_m *Component) Kind() fiber.ComponentKind {
	ret := _m.Called()

	var r0 fiber.ComponentKind
	if rf, ok := ret.Get(0).(func() fiber.ComponentKind); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(fiber.ComponentKind)
	}

	return r0
}
