public void ShouldBuildIndexViewWithCustomersOrderByName() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); CustomerData[] customers = new CustomerData[] { new CustomerData() { Name = "Gary" }, new CustomerData() { Name = "Louis" }, new CustomerData() { Name = "Bob" } }; adapter.GetCustomers().Returns(customers); using (ClassicController controller = new ClassicController(adapter)) { ActionResult result = controller.Index(); adapter.Received().GetCustomers(); CustomerData[] model = ActionResultHelper.AssertViewWithModel <CustomerData[]>(result, controller.Views.Index); string[] names = model.Select(customer => customer.Name).ToArray(); string[] expected = new string[] { "Bob", "Gary", "Louis" }; CollectionAssert.AreEqual(expected, names, "The customers were not ordered by name."); } }
public CreateOrderService(ICustomerAdapter customerAdapter, IBasketAdapter basketAdapter, ICreateOrderNotifier notifier) { _customerAdapter = customerAdapter; _basketAdapter = basketAdapter; _notifier = notifier; }
//private IMemoryCache _cache; public RequestListingController(CLToolContext context, IConfiguration config, ICustomerAdapter indusAdapter) { _context = context; _config = config; _indus = indusAdapter; //_cache = memoryCache; }
public KnockoutController(ICustomerAdapter adapter) { if (adapter == null) { throw new ArgumentNullException("adapter"); } this.adapter = adapter; }
public static Customer AddCustomer(ICustomerAdapter adapter, CustomerBase customer) { var newCustomer = (Customer)customer; newCustomer.Id = Guid.NewGuid(); return(adapter.AddCustomer(newCustomer)); }
public static Action <CreateOrderCommand> CreateOrdeHandler(ICustomerAdapter customerAdapter, IBasketAdapter basketAdapter, ICreateOrderNotifier notifier) { return(c => { var customer = customerAdapter.GetCustomer(c.CustomerId); customer.CreateOrder(c.BasketId, c.Cost, basketAdapter, notifier); }); }
public static IEnumerable <Customer> GetCustomerForRentedBook(ICustomerAdapter customerAdapter, Guid rentedBookId) { var searchFilter = new SearchFilters { RentedBookId = rentedBookId }; return(customerAdapter.Search(searchFilter, null).PageData); }
public void ShouldDisplayIndex() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (KnockoutController controller = new KnockoutController(adapter)) { ActionResult result = controller.Index(); ActionResultHelper.AssertView(result, controller.Views.Index); } }
public void ShouldBuildCreateViewWithNoModel() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (ClassicController controller = new ClassicController(adapter)) { ActionResult result = controller.Create(); ActionResultHelper.AssertView(result, controller.Views.Create); } }
public void ShouldUpdateCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (KnockoutController controller = new KnockoutController(adapter)) { CustomerData data = new CustomerData(); ActionResult result = controller.Edit(data); ActionResultHelper.AssertHttpStatusCode(result, HttpStatusCode.OK); adapter.Received().UpdateCustomer(data); } }
public void ShouldDeleteCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (KnockoutController controller = new KnockoutController(adapter)) { string customerId = Guid.NewGuid().ToString("N"); ActionResult result = controller.Delete(customerId); ActionResultHelper.AssertHttpStatusCode(result, HttpStatusCode.OK); adapter.Received().RemoveCustomer(customerId); } }
public void ShouldCreateCustomerAndReturnToIndex() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (ClassicController controller = new ClassicController(adapter)) { CustomerData data = new CustomerData(); ActionResult result = controller.Create(data); adapter.Received().AddCustomer(data); ActionResultHelper.AssertRedirected(result, controller.Name, controller.ActionNames.Index); } }
public void ShouldRedisplayViewIfCreateValidationFails() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (ClassicController controller = new ClassicController(adapter)) { controller.ModelState.AddModelError("txtName", "You must provide a customer name."); CustomerData data = new CustomerData(); ActionResult result = controller.Create(data); CustomerData model = ActionResultHelper.AssertViewWithModel <CustomerData>(result, controller.Views.Create); Assert.AreSame(data, model, "The customer data was not set as the model."); } }
public void ShouldRedisplayViewWhenEditValidationFails() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (ClassicController controller = new ClassicController(adapter)) { controller.ModelState.AddModelError("txtName", "You must provide a name for the customer."); CustomerData data = new CustomerData(); ActionResult result = controller.Edit(data); CustomerData model = ActionResultHelper.AssertViewWithModel <CustomerData>(result, controller.Views.Edit); Assert.AreSame(data, model, "The model was not passed to the view."); } }
/// <summary> /// Initializes a new instance of the <see cref="CustomerController"/> class /// </summary> /// <param name="customerAdapter">The Customer Adapter</param> /// <param name="emailValidator">The EMail Validator</param> public CustomerController(ICustomerAdapter customerAdapter, IEMailValidator emailValidator) { if (customerAdapter == null) { throw new ArgumentNullException(nameof(customerAdapter)); } if (emailValidator == null) { throw new ArgumentNullException(nameof(emailValidator)); } this.customerAdapter = customerAdapter; this.emailValidator = emailValidator; }
public void ShouldDeleteCustomerAndRedirectToIndex() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); using (ClassicController controller = new ClassicController(adapter)) { CustomerData data = new CustomerData() { CustomerId = Guid.NewGuid().ToString("N") }; ActionResult result = controller.Delete(data); adapter.Received().RemoveCustomer(data.CustomerId); ActionResultHelper.AssertRedirected(result, controller.Name, controller.ActionNames.Index); } }
public void ShouldCreateAndReturnCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); CustomerData added = new CustomerData(); adapter.AddCustomer(Arg.Any <CustomerData>()).Returns(added); using (KnockoutController controller = new KnockoutController(adapter)) { CustomerData data = new CustomerData(); ActionResult result = controller.Create(data); CustomerData model = ActionResultHelper.AssertJsonWithHttpStatusCode <CustomerData>(result, HttpStatusCode.Created); Assert.AreSame(added, model, "The added customer was not returned."); adapter.Received().AddCustomer(data); } }
public void ShouldRetrieveCustomerForDelete() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); CustomerData data = new CustomerData(); adapter.GetCustomer(Arg.Any <string>()).Returns(data); using (ClassicController controller = new ClassicController(adapter)) { string customerId = Guid.NewGuid().ToString("N"); ActionResult result = controller.Delete(customerId); CustomerData model = ActionResultHelper.AssertViewWithModel <CustomerData>(result, controller.Views.Delete); adapter.Received().GetCustomer(customerId); Assert.AreSame(data, model, "The customer data was not passed to the view."); } }
public void ShouldLoadCustomers() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); IEnumerable <CustomerData> data = new List <CustomerData>() { new CustomerData() }; adapter.GetCustomers().Returns(data); using (KnockoutController controller = new KnockoutController(adapter)) { ActionResult result = controller.Load(); CustomerData[] model = ActionResultHelper.AssertJson <CustomerData[]>(result); Assert.AreEqual(1, model.Length, "There should have been one customer."); Assert.AreSame(data.First(), model[0], "The wrong customer was returned."); adapter.Received().GetCustomers(); } }
public void ShouldUpdateCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); adapter.UpdateCustomer(Arg.Any <CustomerData>()); using (CustomersController controller = new CustomersController(adapter)) using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, "~/api/customers")) { request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); CustomerData data = new CustomerData(); HttpResponseMessage message = controller.Put(request, data); Assert.AreEqual(HttpStatusCode.OK, message.StatusCode, "The wrong status code was returned."); Assert.IsInstanceOfType(message.Content, typeof(ObjectContent), "The content was not the serialized result."); ObjectContent content = (ObjectContent)message.Content; Assert.AreSame("The customer was updated.", content.Value, "The wrong object was returned."); adapter.Received().UpdateCustomer(data); } }
public void ShouldDeleteCustomer() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); adapter.RemoveCustomer(Arg.Any <string>()); using (CustomersController controller = new CustomersController(adapter)) using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Delete, "~/api/customers")) { request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); string customerId = Guid.NewGuid().ToString("N"); HttpResponseMessage message = controller.Delete(request, customerId); Assert.AreEqual(HttpStatusCode.OK, message.StatusCode, "The wrong status code was returned."); Assert.IsInstanceOfType(message.Content, typeof(ObjectContent), "The content was not the serialized result."); ObjectContent content = (ObjectContent)message.Content; Assert.AreSame("The customer was deleted.", content.Value, "The wrong object was returned."); adapter.Received().RemoveCustomer(customerId); } }
public void ShouldGetCustomerById() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); CustomerData data = new CustomerData(); adapter.GetCustomer(Arg.Any <string>()).Returns(data); using (CustomersController controller = new CustomersController(adapter)) { string customerId = Guid.NewGuid().ToString("N"); using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "~/api/customers/" + customerId)) { request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); HttpResponseMessage response = controller.Get(request, customerId); Assert.IsInstanceOfType(response.Content, typeof(ObjectContent <CustomerData>), "Customer data was not returned."); ObjectContent <CustomerData> content = (ObjectContent <CustomerData>)response.Content; CustomerData result = (CustomerData)content.Value; Assert.AreSame(data, result, "The wrong customer was returned."); adapter.Received().GetCustomer(customerId); } } }
public void ShouldGetAllCustomers() { ICustomerAdapter adapter = Substitute.For <ICustomerAdapter>(); IEnumerable <CustomerData> data = new List <CustomerData>() { new CustomerData() }; adapter.GetCustomers().Returns(data); using (CustomersController controller = new CustomersController(adapter)) using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "~/api/customers")) { request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); HttpResponseMessage response = controller.GetAll(request); Assert.IsInstanceOfType(response.Content, typeof(ObjectContent <CustomerData[]>), "An array of customer data wasn't returned."); ObjectContent <CustomerData[]> content = (ObjectContent <CustomerData[]>)response.Content; CustomerData[] results = (CustomerData[])content.Value; Assert.AreEqual(1, results.Length, "There should have been one customer."); Assert.AreSame(data.First(), results[0], "The wrong customer was returned."); adapter.Received().GetCustomers(); } }
public void ShouldThrowExceptionIfAdapterNull() { ICustomerAdapter adapter = null; using (new CustomersController(adapter)) { } }
public CustomerOrchestrator(ICustomerAdapter customerAdapter) { CustomerAdapter = customerAdapter; }
// DI Will Inject Requires Empty Constructor public CustomerOrchestrator() { CustomerAdapter = DependencyFactory.Resolve <ICustomerAdapter>(); }
public LibraryCardOrchestrator(ICustomerAdapter customerAdapter, ILibraryCardAdapter libraryCardAdapter) { CustomerAdapter = customerAdapter; LibraryCardAdapter = libraryCardAdapter; }