public void given_a_request_and_decodedBase64Data_objects_when_CreateImageDataObject_factory_method_is_called_then_it_outputs_correctly_populated_ProcessImageData_object() { //arrange var request = MatProcessDataHelper.CreatePostProcessImageRequestObject(); var decodedData = MatProcessDataHelper.CreateBase64DecodedDataObject(); //act var processImageData = ImageDataFactory.CreateImageDataObject(request, decodedData); //asssert Assert.AreEqual(request.processRef, processImageData.processRef); Assert.AreEqual(request.imageId, processImageData.imageId); Assert.AreEqual(decodedData.imageType, processImageData.imageData.imageType); Assert.AreEqual(decodedData.imageExtension, processImageData.imageData.imageExtension); Assert.True(decodedData.imagebase64String.SequenceEqual(processImageData.imageData.imagebase64String)); }
public void given_a_request_object_when_ProcessImageUseCase_ExecutePost_method_is_called_then_it_calls_the_gateway_with_correct_data() //test to see if usecase calls gateway with domain correctly built domain object { //arrange var request = MatProcessDataHelper.CreatePostProcessImageRequestObject(); var decodedData = MatProcessDataHelper.CreateBase64DecodedDataObject(); _mockImageDecoder.Setup(d => d.DecodeBase64ImageString(It.IsAny <string>())).Returns(decodedData); //At this step, this test does not care about the validity of the decoder output, it only cares to see if the usecase passes the decoder output into gateway or not. //act _processImageUseCase.ExecutePost(request); //assert _mockGateway.Verify(g => g.UploadImage(It.Is <ProcessImageData>(obj => obj.processRef == request.processRef && obj.imageId == request.imageId && obj.imageData.imagebase64String.SequenceEqual(decodedData.imagebase64String) && obj.imageData.imageType == decodedData.imageType && obj.imageData.imageExtension == decodedData.imageExtension && obj.key == $"{request.processType}/{request.processRef}/{request.imageId}.{decodedData.imageExtension}" )), Times.Once); }