func (_m *PostKeeper) IDADonate(ctx types.Context, from linotypes.AccountKey, n types.Int, author linotypes.AccountKey, postID string, app linotypes.AccountKey, signer linotypes.AccountKey) types.Error {
	ret := _m.Called(ctx, from, n, author, postID, app, signer)
	var r0 types.Error
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey, types.Int, linotypes.AccountKey, string, linotypes.AccountKey, linotypes.AccountKey) types.Error); ok {
		r0 = rf(ctx, from, n, author, postID, app, signer)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(types.Error)
		}
	}
	return r0
}
IDADonate provides a mock function with given fields: ctx, from, n, author, postID, app, signer
package mocks
import (
	linotypes "github.com/lino-network/lino/types"
	amino "github.com/tendermint/go-amino"
	mock "github.com/stretchr/testify/mock"
	model "github.com/lino-network/lino/x/post/model"
	posttypes "github.com/lino-network/lino/x/post/types"
	types "github.com/cosmos/cosmos-sdk/types"
)
type PostKeeper struct {
	mock.Mock
}
func (_m *PostKeeper) CreatePost(ctx types.Context, author linotypes.AccountKey, postID string, createdBy linotypes.AccountKey, content string, title string) types.Error {
	ret := _m.Called(ctx, author, postID, createdBy, content, title)
	var r0 types.Error
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.AccountKey, string, linotypes.AccountKey, string, string) types.Error); ok {
		r0 = rf(ctx, author, postID, createdBy, content, title)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(types.Error)
		}
	}
	return r0
}
func (_m *PostKeeper) DeletePost(ctx types.Context, permlink linotypes.Permlink) types.Error {
	ret := _m.Called(ctx, permlink)
	var r0 types.Error
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.Permlink) types.Error); ok {
		r0 = rf(ctx, permlink)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(types.Error)
		}
	}
	return r0
}
func (_m *PostKeeper) DoesPostExist(ctx types.Context, permlink linotypes.Permlink) bool {
	ret := _m.Called(ctx, permlink)
	var r0 bool
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.Permlink) bool); ok {
		r0 = rf(ctx, permlink)
	} else {
		r0 = ret.Get(0).(bool)
	}
	return r0
}
func (_m *PostKeeper) ExecRewardEvent(ctx types.Context, reward posttypes.RewardEvent) types.Error {
	ret := _m.Called(ctx, reward)
	var r0 types.Error
	if rf, ok := ret.Get(0).(func(types.Context, posttypes.RewardEvent) types.Error); ok {
		r0 = rf(ctx, reward)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(types.Error)
		}
	}
	return r0
}
func (_m *PostKeeper) ExportToFile(ctx types.Context, cdc *amino.Codec, filepath string) error {
	ret := _m.Called(ctx, cdc, filepath)
	var r0 error
	if rf, ok := ret.Get(0).(func(types.Context, *amino.Codec, string) error); ok {
		r0 = rf(ctx, cdc, filepath)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}
func (_m *PostKeeper) GetComsumptionWindow(ctx types.Context) linotypes.MiniDollar {
	ret := _m.Called(ctx)
	var r0 linotypes.MiniDollar
	if rf, ok := ret.Get(0).(func(types.Context) linotypes.MiniDollar); ok {
		r0 = rf(ctx)
	} else {
		r0 = ret.Get(0).(linotypes.MiniDollar)
	}
	return r0
}
func (_m *PostKeeper) GetPost(ctx types.Context, permlink linotypes.Permlink) (model.Post, types.Error) {
	ret := _m.Called(ctx, permlink)
	var r0 model.Post
	if rf, ok := ret.Get(0).(func(types.Context, linotypes.Permlink) model.Post); ok {
		r0 = rf(ctx, permlink)
	} else {
		r0 = ret.Get(0).(model.Post)
	}
	var r1 types.Error
	if rf, ok := ret.Get(1).(func(types.Context, linotypes.Permlink) types.Error); ok {
		r1 = rf(ctx, permlink)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(types.Error)
		}
	}
	return r0, r1
}