示例#1
0
        public async Task Lookup_ServiceReturnsNothing_ReturnsNull()
        {
            _messageHandler.SendAsyncReturns(null);
            CustomerLookupResponse result = await _service.LookupAsync(Factory.GetString(), Factory.GetString());

            Assert.Null(result);
        }
示例#2
0
        public void Execute()
        {
            SGBankManager manager = SGBankManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Lookup a customer");
            Console.WriteLine("--------------------------");
            Console.Write("Enter a customer name : ");
            string customerName = Console.ReadLine();

            CustomerLookupResponse response = manager.LookupCustomer(customerName);

            if (response.Success)
            {
                ConsoleIO.DisplayCustomerDetails(response.Customer);
            }
            else
            {
                Console.WriteLine("An error occurred : ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
示例#3
0
        public async Task Lookup_ServiceReturns404_ReturnsNull()
        {
            _messageHandler.SendAsyncReturns(new HttpResponseMessage(HttpStatusCode.NotFound)
            {
                Content = new StringContent("[ {\"Code\": \"Some error code\"} ]")
            });
            CustomerLookupResponse result = await _service.LookupAsync(Factory.GetString(), Factory.GetString());

            Assert.Null(result);
        }
示例#4
0
        public async Task Lookup_ServiceReturnsValidJson_ReturnsResponseInstance()
        {
            _messageHandler.SendAsyncReturns(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(
                    "{ \"userProfiles\": [ { \"firstName\": \"koko\", \"lastName\": \"themonkey\", \"addressList\": [ { \"street\": \"Arbeidersamfunnets Plass 1\", \"city\": \"Oslo\", \"postalCode\": \"0181\", \"country\": \"Norway\", \"countryCode\": \"NO\"\r\n } ] } ] } ")
            });
            CustomerLookupResponse result = await _service.LookupAsync(Factory.GetString(), Factory.GetString());

            Assert.IsType <CustomerLookupResponse>(result);
        }
示例#5
0
        public CustomerLookupResponse LookupCustomer(int customerId)
        {
            CustomerLookupResponse response = new CustomerLookupResponse();

            response.Customer = _customerRespoitory.LoadCustomer(customerId);

            if (response.Customer == null)
            {
                response.Success = false;
                response.Message = $"{customerId} is not a valid customer ID";
            }
            else
            {
                response.Success = true;
            }
            return(response);
        }
        public CustomerLookupResponse LookupCustomer(string customerName)
        {
            CustomerLookupResponse response = new CustomerLookupResponse();

            response.Customer = sgBankRepository.LoadCustomer(customerName);

            if (response.Customer == null)
            {
                response.Success = false;
                response.Message = $"{customerName} is not a registered customer of SGBank.";
            }
            else
            {
                response.Success = true;
            }

            return(response);
        }
示例#7
0
        public void Execute()
        {
            CustomerManager manager = CustomerManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Lookup an account");
            Console.WriteLine("------------------------");

            int customerId = ConsoleIO.GetCustomerID();

            CustomerLookupResponse response = manager.LookupCustomer(customerId);

            if (response.Success)
            {
                ConsoleIO.DisplayCustomrDetails(response.Customer);
            }
            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
示例#8
0
        public async Task Lookup_PhoneNumberIsNullOrEmptyOrWhite_ReturnsNull(string phoneNumber)
        {
            CustomerLookupResponse result = await _service.LookupAsync(Factory.GetString(), phoneNumber);

            Assert.Null(result);
        }
示例#9
0
        public async Task Lookup_PhoneNumberIsNullOrEmptyOrWhite_DoesNotCallApi(string phoneNumber)
        {
            CustomerLookupResponse result = await _service.LookupAsync(Factory.GetString(), phoneNumber);

            Assert.Equal(0, _messageHandler.CallCount());
        }