private static void AssertCandidate(CandidateResponseModel model, CanContactStatus canContact, bool hasBeenAccessed, bool isResumeVisible, bool isPhoneNumberVisible, bool hasPhoneNumbers, ICollection <PhoneNumber> phoneNumbers) { // Cannot contact if they have hidden their resume. canContact = isResumeVisible ? canContact : CanContactStatus.No; // Cannot contact by phone if also they don't have phone numbers or have hidden them. var canContactByPhone = canContact == CanContactStatus.No ? CanContactStatus.No : !isPhoneNumberVisible ? CanContactStatus.No : phoneNumbers == null || phoneNumbers.Count == 0 ? CanContactStatus.No : canContact; Assert.AreEqual(canContact, model.Candidate.CanContact); Assert.AreEqual(canContactByPhone, model.Candidate.CanContactByPhone); Assert.AreEqual(hasBeenAccessed, model.Candidate.HasBeenAccessed); // Must have phone numbers and be visible and also have been accessed. if (isResumeVisible && isPhoneNumberVisible && hasPhoneNumbers && hasBeenAccessed) { Assert.IsTrue(phoneNumbers != null && phoneNumbers.Count > 0); Assert.IsTrue((from p in phoneNumbers select p.Number).SequenceEqual(model.Candidate.PhoneNumbers)); } else { Assert.IsNull(model.Candidate.PhoneNumbers); } }
/// <summary> /// Contacts the server for all candidates /// </summary> /// <returns>Returns the candidate data received from the server or a null result if it fails</returns> internal async Task <List <CandidateTable> > GetCandidates() { string url = this.resource.GetString("BaseUrl") + "/api/VoteData/GetCandidatesAsync"; var get = new HttpRequestMessage(HttpMethod.Get, url); HttpResponseMessage response; using (HttpClient client = new HttpClient()) { try { response = await client.SendAsync(get); } catch { return(null); } } if (response.IsSuccessStatusCode) { CandidateResponseModel result = JsonConvert.DeserializeObject <CandidateResponseModel>(response.Content.ReadAsStringAsync().Result); if (result.Success) { return(result.Result); } else { return(null); } } else { return(null); } }
protected void AssertCandidate(CandidateResponseModel model, EmployerMemberView member) { AssertJsonSuccess(model); AssertCandidate(model.Candidate, member); }