// Code generated by MockGen. DO NOT EDIT.
// Source: hardcover_test.go
//
// Generated by this command:
//
//	mockgen -typed -source hardcover_test.go -package hardcover -destination hardcover/mock.go . gql
//

// Package hardcover is a generated GoMock package.
package hardcover

import (
	context "context"
	http "net/http"
	reflect "reflect"

	graphql "github.com/Khan/genqlient/graphql"
	gomock "go.uber.org/mock/gomock"
)

// Mockgql is a mock of gql interface.
type Mockgql struct {
	ctrl     *gomock.Controller
	recorder *MockgqlMockRecorder
}

// MockgqlMockRecorder is the mock recorder for Mockgql.
type MockgqlMockRecorder struct {
	mock *Mockgql
}

// NewMockgql creates a new mock instance.
func NewMockgql(ctrl *gomock.Controller) *Mockgql {
	mock := &Mockgql{ctrl: ctrl}
	mock.recorder = &MockgqlMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *Mockgql) EXPECT() *MockgqlMockRecorder {
	return m.recorder
}

// MakeRequest mocks base method.
func (m *Mockgql) MakeRequest(ctx context.Context, req *graphql.Request, resp *graphql.Response) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MakeRequest", ctx, req, resp)
	ret0, _ := ret[0].(error)
	return ret0
}

// MakeRequest indicates an expected call of MakeRequest.
func (mr *MockgqlMockRecorder) MakeRequest(ctx, req, resp any) *MockgqlMakeRequestCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MakeRequest", reflect.TypeOf((*Mockgql)(nil).MakeRequest), ctx, req, resp)
	return &MockgqlMakeRequestCall{Call: call}
}

// MockgqlMakeRequestCall wrap *gomock.Call
type MockgqlMakeRequestCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockgqlMakeRequestCall) Return(arg0 error) *MockgqlMakeRequestCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockgqlMakeRequestCall) Do(f func(context.Context, *graphql.Request, *graphql.Response) error) *MockgqlMakeRequestCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockgqlMakeRequestCall) DoAndReturn(f func(context.Context, *graphql.Request, *graphql.Response) error) *MockgqlMakeRequestCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Mocktransport is a mock of transport interface.
type Mocktransport struct {
	ctrl     *gomock.Controller
	recorder *MocktransportMockRecorder
}

// MocktransportMockRecorder is the mock recorder for Mocktransport.
type MocktransportMockRecorder struct {
	mock *Mocktransport
}

// NewMocktransport creates a new mock instance.
func NewMocktransport(ctrl *gomock.Controller) *Mocktransport {
	mock := &Mocktransport{ctrl: ctrl}
	mock.recorder = &MocktransportMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *Mocktransport) EXPECT() *MocktransportMockRecorder {
	return m.recorder
}

// RoundTrip mocks base method.
func (m *Mocktransport) RoundTrip(arg0 *http.Request) (*http.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RoundTrip", arg0)
	ret0, _ := ret[0].(*http.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RoundTrip indicates an expected call of RoundTrip.
func (mr *MocktransportMockRecorder) RoundTrip(arg0 any) *MocktransportRoundTripCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RoundTrip", reflect.TypeOf((*Mocktransport)(nil).RoundTrip), arg0)
	return &MocktransportRoundTripCall{Call: call}
}

// MocktransportRoundTripCall wrap *gomock.Call
type MocktransportRoundTripCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MocktransportRoundTripCall) Return(arg0 *http.Response, arg1 error) *MocktransportRoundTripCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MocktransportRoundTripCall) Do(f func(*http.Request) (*http.Response, error)) *MocktransportRoundTripCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MocktransportRoundTripCall) DoAndReturn(f func(*http.Request) (*http.Response, error)) *MocktransportRoundTripCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
