public void Success() { //Arrange var controllerInfos = new ProxyControllerInfoGenerator().GetControllerInfos(); MockBuildHelper.Setup(p => p.GetServiceName("Home", "PSrv", true)).Returns("homePSrv"); MockBuildHelper.Setup(p => p.GetProxyFunctionName("OneParam")).Returns("OneParam"); MockBuildHelper.Setup(p => p.GetProxyFunctionName("OneComplexParam")).Returns("OneComplexParam"); MockBuildHelper.Setup(p => p.GetFunctionParameters(It.IsAny <MethodInfo>())).Returns("name"); MockBuildHelperHttpCall.Setup(p => p.BuildHttpCall(It.IsAny <ProxyMethodInfos>(), It.IsAny <ProxyBuilder>())).Returns("get('Home/OneParam'+ '?name='+encodeURIComponent(name))"); //Act var generatedProxyEntries = AngularJsProxyBuilder.BuildProxy(controllerInfos); //Assert Assert.AreEqual(generatedProxyEntries[0].FileContent.Trim(), CompleteTemplateForAssert.Trim()); //Achtung der Unit Test prüft nur ob die Funktionen entsprechend oft aufgerufen wurden, aber nicht ob das Ergebnis //"richtig" stimmt, die geschieht bereits durch andere Unit Tests MockBuildHelper.Verify(p => p.GetServiceName("Home", "PSrv", true), () => Times.Exactly(3)); MockBuildHelper.Verify(p => p.GetProxyFunctionName("OneParam"), () => Times.Exactly(1)); MockBuildHelper.Verify(p => p.GetProxyFunctionName("OneComplexParam"), () => Times.Exactly(1)); MockBuildHelper.Verify(p => p.GetFunctionParameters(It.IsAny <MethodInfo>()), () => Times.Exactly(2)); MockBuildHelperHttpCall.Verify(p => p.BuildHttpCall(It.IsAny <ProxyMethodInfos>(), It.IsAny <ProxyBuilder>()), () => Times.Exactly(2)); }
public void BuildPost_IsComplexeType_True() { //Arrange var methodInfos = new ProxyMethodInfos(); //Die MethodenInfos laden - können wir nicht Mocken! methodInfos.MethodInfo = TestClassType.GetMethod("OneComplexParam"); methodInfos.ProxyMethodParameterInfos.Add(new ProxyMethodParameterInfo() { IsComplexeType = true, ParameterName = "person" }); //Mocken der passenden Infos MockBuildHelper.Setup(p => p.GetClearControllerName(It.IsAny <Type>())).Returns("Home"); MockBuildHelper.Setup(p => p.BuildUrlParameterId(It.IsAny <List <ProxyMethodParameterInfo> >())).Returns(String.Empty); MockBuildHelper.Setup(p => p.BuildUrlParameter(It.IsAny <List <ProxyMethodParameterInfo> >())).Returns(" + '?name='+encodeURIComponent(name)"); //Act var getParams = ProxyBuilderHttpCall.BuildHttpCall(methodInfos, ProxyBuilder.AngularTypeScript); //Assert Assert.AreEqual(getParams, "post('Home/OneComplexParam' + '?name='+encodeURIComponent(name),person)"); }
public void BuildGet_NoComplexType_WithId() { //Arrange var methodInfos = new ProxyMethodInfos(); //Die MethodenInfos laden - können wir nicht Mocken! methodInfos.MethodInfo = TestClassType.GetMethod("OneParam"); methodInfos.ProxyMethodParameterInfos.Add(new ProxyMethodParameterInfo() { IsComplexeType = false, ParameterName = "id" }); //Mocken der passenden Infos MockBuildHelper.Setup(p => p.GetClearControllerName(It.IsAny <Type>())).Returns("Home"); MockBuildHelper.Setup(p => p.BuildUrlParameterId(It.IsAny <List <ProxyMethodParameterInfo> >())).Returns(" + '/' + id "); MockBuildHelper.Setup(p => p.BuildUrlParameter(It.IsAny <List <ProxyMethodParameterInfo> >())).Returns(" + '?name='+encodeURIComponent(name)"); //Act var getParams = ProxyBuilderHttpCall.BuildHttpCall(methodInfos, ProxyBuilder.AngularJavaScript); //Assert Assert.AreEqual(getParams, "get('Home/OneParam' + '/' + id + '?name='+encodeURIComponent(name))"); }