func TestMarshalWithCodec_WithFacade(t *testing.T) { // func (s *WebCodecService) MarshalWithCodec(codec codecs.Codec, object interface{}, options ...interface{}) ([]byte, error) { testCodec := new(test.TestCodec) service := NewWebCodecService() // make some test stuff var bytesToReturn []byte = []byte("Hello World") testObjectWithFacade := new(test.TestObjectWithFacade) object := objx.MSI("Name", "Mat") var option1 string = "Option One" var option2 string = "Option Two" args := map[string]interface{}{option1: option1, option2: option2} // setup expectations testObjectWithFacade.On("PublicData", args).Return(object, nil) testCodec.On("Marshal", object, args).Return(bytesToReturn, nil) bytes, err := service.MarshalWithCodec(testCodec, testObjectWithFacade, args) if assert.Nil(t, err) { assert.Equal(t, string(bytesToReturn), string(bytes)) } // assert that our expectations were met mock.AssertExpectationsForObjects(t, testCodec.Mock, testObjectWithFacade.Mock) }
func TestMarshalWithCodec_WithFacade_AndError(t *testing.T) { // func (s *WebCodecService) MarshalWithCodec(codec codecs.Codec, object interface{}, options ...interface{}) ([]byte, error) { testCodec := new(test.TestCodec) service := NewWebCodecService() // make some test stuff testObjectWithFacade := new(test.TestObjectWithFacade) var option1 string = "Option One" var option2 string = "Option Two" args := map[string]interface{}{option1: option1, option2: option2} // setup expectations testObjectWithFacade.On("PublicData", args).Return(nil, assert.AnError) _, err := service.MarshalWithCodec(testCodec, testObjectWithFacade, args) assert.Equal(t, assert.AnError, err) }