コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }