private Assessment SetupSuccessfulPost(Assessment localAssessment) { var clonedLocalAssessment = new Assessment { ObjectId = localAssessment.ObjectId }; var savedAssessment = CreateSavedAssessment(); var url = Connection.GenerateTableUrl <Assessment>(); _jsonSerializer.Clone(localAssessment).Returns(clonedLocalAssessment); var serializedObject = $"{savedAssessment.ObjectId}-serialized"; _jsonSerializer.Serialize(clonedLocalAssessment).Returns(serializedObject); var jsonResponse = $"{savedAssessment.ObjectId}-response"; _restServiceCaller.Post(url, Arg.Any <Dictionary <string, string> >(), serializedObject) .Returns(Task.FromResult(jsonResponse)); _responseParser.Parse <Assessment>(jsonResponse).Returns(BackendlessResponse <Assessment> .Success(savedAssessment)); return(savedAssessment); }
/// <summary> /// Flattens the policies by branches. /// </summary> /// <param name="policies">Policies</param> /// <param name="serializer">Json serializer</param> /// <returns>Flattened policies</returns> public static IEnumerable <Policy> FlattenBranches(this IEnumerable <Policy> policies, IJsonSerializer serializer) { var newPolicies = new List <Policy>(); foreach (var policy in policies) { if (policy.Branches != null) { foreach (var branch in policy.Branches) { var newPolicy = serializer.Clone(policy); newPolicy.Branch = branch; newPolicy.Branches = null; newPolicies.Add(newPolicy); } continue; } newPolicies.Add(policy); } return(newPolicies); }
/// <summary> /// Flattens the policies by repositories. /// </summary> /// <param name="policies">Policies</param> /// <param name="serializer">Json serializer</param> /// <returns>Flattened policies</returns> public static IEnumerable <Policy> FlattenRepositories(this IEnumerable <Policy> policies, IJsonSerializer serializer) { var newPolicies = new List <Policy>(); foreach (var policy in policies) { if (policy.Repositories != null) { foreach (var repository in policy.Repositories) { var newPolicy = serializer.Clone(policy); newPolicy.Repository = repository; newPolicy.Repositories = null; newPolicies.Add(newPolicy); } continue; } newPolicies.Add(policy); } return(newPolicies); }