/// <summary> /// Maps subscriber DTO object to SubscriberSearchResult object. /// </summary> /// <param name="subscriber">SubscriberDto object</param> /// <returns>Equivalent SubscriberSearchResult object.</returns> private SubscriberSearchResult MapProvisioningResponseToSubscriberSearchResult(SubscriberDto subscriber) { if (subscriber == null || string.IsNullOrEmpty(subscriber.ID) || string.IsNullOrEmpty(subscriber.Name)) { throw new NullReferenceException("Subscriber Object, ID or Name was null"); } var result = new SubscriberSearchResult(); result.ID = subscriber.ID; result.Name = subscriber.Name; if (subscriber.Accounts != null && subscriber.Accounts.Any() && subscriber.Accounts.FirstOrDefault() != null // ReSharper disable once PossibleNullReferenceException && subscriber.Accounts.FirstOrDefault().Location != null) { result.LocationID = subscriber.Accounts[0].Location.ID; result.AddressLine1 = subscriber.Accounts[0].Location.AddressLine1; result.AddressLine2 = subscriber.Accounts[0].Location.AddressLine2; result.CityName = subscriber.Accounts[0].Location.CityName; result.StateName = subscriber.Accounts[0].Location.StateName; result.ZipCode = subscriber.Accounts[0].Location.ZipCode; result.Phone = subscriber.SubContactPhone; result.ExistsInProvisioning = true; } result.DataSource = SubscriberEnums.SubscriberDataSource.Provisioning; result.Environment = String.Empty; return result; }
public void Search_Subscriber_Using_Viryanet_Call_ID() { using (ShimsContext.Create()) { var myContext = new SIMPLTestContext(); ShimCurrentUser.AsUserDto = new SIMPLTestContext().GetFakeUserDtoObject; var fakeCallID = "7777"; var subscriberSearchViewModel = new SubscriberSearchViewModel { CallID = fakeCallID, State = "CT" }; var expectedSearchResults = new List<SubscriberSearchResult>(); var record = new SubscriberSearchResult { ID = "1", Name = "ViryanetTestName", ExistsInBilling = true, DataSource = SubscriberEnums.SubscriberDataSource.Billing, Environment = "Test" }; expectedSearchResults.Add(record); var expectedResult = new { status = "partialsuccessbilling", isModal = false, searchResults = expectedSearchResults, provisioned = false }.ToJSON(); var fakeSubscriberList = new BillingSearchSubscriberResponse(); var fakeSubscriber = new BillingSearchSubscriber(); fakeSubscriber.USI = "1"; fakeSubscriber.SubscriberName = "ViryanetTestName"; fakeSubscriber.Environment = "Test"; fakeSubscriberList.Add(fakeSubscriber); ShimErrorLoggingService.AllInstances.LogErrorNoContextException = delegate { }; //Search Subscriber from provisioning ShimProvisioningServiceClient.AllInstances.SearchSubscribersSearchFieldsUser = delegate { return new SubscriberCollection(); }; //Search Subscriber from billing ShimBillingServiceClient.AllInstances.SearchSubscriberBillingSearchFieldsUser = delegate { return fakeSubscriberList; }; var searchController = DependencyResolver.Current.GetService<SearchController>(); var actionResult = searchController.SearchCompositeSubscribers(subscriberSearchViewModel) as JsonResult; Assert.IsNotNull(actionResult, "SearchSubscribers returned null"); var actualJsonResult = actionResult.Data.ToJSON().Replace(" ", ""); Assert.AreEqual(expectedResult, actualJsonResult); } }
public void Search_Subscriber_When_Billing_Throws_Exception() { using (ShimsContext.Create()) { //Arrange var myContext = new SIMPLTestContext(); var fakeUserDto = myContext.GetFakeUserDtoObject(); ShimCurrentUser.AsUserDto = () => fakeUserDto; //search criteria var subscriberSearchViewModel = new SubscriberSearchViewModel { SubscriberID = "370001704986" }; var expectedSearchResults = new List<SubscriberSearchResult>(); var record = new SubscriberSearchResult { ID = "TESTSUBID", ExistsInBilling = false, ExistsInProvisioning = true, Phone = "999-999-9999", Name = "ProvisioningTestFirstNameLast", LocationID = "9999999", AddressLine1 = "123FakeSt.", AddressLine2 = "Apt2", CityName = "FakeCity", StateName = "WA", ZipCode = "99999", DataSource = SubscriberEnums.SubscriberDataSource.Provisioning, Environment = "" }; expectedSearchResults.Add(record); var expectedResult = new { status = "error", isModal = false, searchResults = new List<SubscriberSearchResult>(), provisioned = false }.ToJSON(); var fakeSubscriberList = new SubscriberCollection() { myContext.GetFakeRosettianSubscriber("TESTSUBID", "ProvisioningTestFirstName", "Last", "9999999999", myContext.GetFakeRosettianCustomField(), myContext.GetFakeRosettianAccountObject(), myContext.GetFakeRosettianLocationObject()) }; ShimErrorLoggingService.AllInstances.LogErrorNoContextException = delegate { }; //Search Subscriber from provisioning ShimProvisioningServiceClient.AllInstances.SearchSubscribersSearchFieldsUser = delegate { return fakeSubscriberList; }; //Search Subscriber from billing ShimBillingServiceClient.AllInstances.SearchSubscriberBillingSearchFieldsUser = delegate { throw new Exception(); }; var searchController = DependencyResolver.Current.GetService<SearchController>(); var actionResult = searchController.SearchCompositeSubscribers(subscriberSearchViewModel) as JsonResult; Assert.IsNotNull(actionResult, "SearchSubscribers returned null"); var actualJsonResult = actionResult.Data.ToJSON().Replace(" ", ""); Assert.AreEqual(expectedResult, actualJsonResult); } }
public void Search_Subscriber_Using_BillingOnlyFields() { using (ShimsContext.Create()) { var myContext = new SIMPLTestContext(); ShimCurrentUser.AsUserDto = new SIMPLTestContext().GetFakeUserDtoObject; var subscriberSearchViewModel = new SubscriberSearchViewModel { AccountNumber = DataConversion(Convert.ToString(TestContext.DataRow["AccountNumber"])), OrderNumber = DataConversion(Convert.ToString(TestContext.DataRow["OrderNumber"])), DslamOltClli = DataConversion(Convert.ToString(TestContext.DataRow["DslamOltClli"])), DslamOltPort = DataConversion(Convert.ToString(TestContext.DataRow["DslamOltPort"])), State="CT" }; var expectedSearchResults = new List<SubscriberSearchResult>(); var record1 = new SubscriberSearchResult { ID = "1", Name = "Subscriber_1", ExistsInBilling = true, ExistsInProvisioning = false, DataSource = SubscriberEnums.SubscriberDataSource.Billing, Environment = "Test", StateName = null }; expectedSearchResults.Add(record1); var expectedResult = new { status = "partialsuccessbilling", isModal = false, searchResults = expectedSearchResults, provisioned = false }.ToJSON(); var fakeSubscriberList = new BillingSearchSubscriberResponse(); var fakeSubscriber = new BillingSearchSubscriber(); fakeSubscriber.USI = record1.ID; fakeSubscriber.SubscriberName = record1.Name; fakeSubscriber.Environment = "Test"; fakeSubscriberList.Add(fakeSubscriber); ShimErrorLoggingService.AllInstances.LogErrorNoContextException = delegate { }; ShimBillingServiceClient.AllInstances.SearchSubscriberBillingSearchFieldsUser = delegate { return fakeSubscriberList; }; bool isProvisioningMethodCalled = false; ShimProvisioningServiceClient.AllInstances.SearchSubscribersSearchFieldsUser = delegate { isProvisioningMethodCalled = true; return new SubscriberCollection(); }; var searchController = DependencyResolver.Current.GetService<SearchController>(); var actionResult = searchController.SearchCompositeSubscribers(subscriberSearchViewModel) as JsonResult; Assert.IsNotNull(actionResult, "SearchSubscribers returned null"); var actualJsonResult = actionResult.Data.ToJSON().Replace(" ", ""); Assert.IsFalse(isProvisioningMethodCalled, "Provisioning service method should not be called."); Assert.AreEqual(expectedResult, actualJsonResult); } }