public void TestDeliveryBeforeExistingEnd() { var createResource = GetCreate(-1, -1); var response = ResourcesHolder.Create <DeliveryWindowCreateResource, DeliveryWindowResource>(createResource); AssertBadRequestReason(response, BadRequestReason.SameExists); }
private Action <CartItemCreateResource> GetCartItemEdit(int extraQuantity = 0) { var product = ResourcesHolder.EditAndCreate <ProductCreateResource, ProductResource>(p => p.IsWeighable = true).Value; ResourcesHolder.EditAndCreate <PromotionCreateResource, PromotionResource>(p => p.TriggeringQuantity = 1); return(c => { c.ProductId = product.Id; c.Quantity = product.Size + extraQuantity; }); }
public override OrderItemCreateResource GetRandomCreateResource() { var createResource = base.GetRandomCreateResource(); createResource.ProductId = ResourcesHolder.Create <ProductResource>().Value.Id; return(createResource); }
private async Task AssignCart() { TokenHandler.Logout(); CreatedResource = ResourcesHolder.Create <CartResource>().Value; TokenHandler.LoginWithNewUser(); await GetClient <ICartsControllClient>().Assign(CreatedResource.Id); }
/// <summary> /// return a list of components available given the specified types /// </summary> /// <param name="typesToFind">the list of types to locate</param> /// <returns>A list of names of components</returns> public IEnumerable <string> GetResourcesAvailableByName(object[] typesToFind) { List <string> results = new List <string>(); Zone zone = this.FindAncestor <Zone>(); if (!(zone is null)) { ResourcesHolder resources = zone.FindChild <ResourcesHolder>(); if (!(resources is null)) { foreach (object type in typesToFind) { if (type is string) { results.Add(type as string); } else if (type is Type) { results.AddRange(resources.GetCLEMResourceNames(type as Type)); } } } } return(results.AsEnumerable()); }
public void TestDeliveryAfterExistingStart() { var createResource = GetCreate(1, 1); var response = ResourcesHolder.Create <DeliveryWindowCreateResource, DeliveryWindowResource>(createResource); AssertBadRequestReason(response, BadRequestReason.SameExists); }
public void TestSameBarcode() { var procuctResource = ResourcesHolder.GetLastOrCreate <ProductResource>().Value; var response = ResourcesHolder.EditAndCreate <ProductCreateResource, ProductResource>(p => p.Barcode = procuctResource.Barcode); AssertBadRequestReason(response, BadRequestReason.SameExists); }
/// <summary> /// return a list of components available given the specified types /// </summary> /// <param name="typesToFind">the list of types to locate</param> /// <returns>A list of names of components</returns> public IEnumerable <string> GetResourcesAvailableByName(object[] typesToFind) { List <string> results = new List <string>(); Zone zone = this.FindAncestor <Zone>(); if (!(zone is null)) { ResourcesHolder resources = zone.FindChild <ResourcesHolder>(); if (!(resources is null)) { foreach (object type in typesToFind) { if (type is string) { results.Add(type as string); } else if (type is Type) { var list = resources.FindResource(type as Type)?.FindAllChildren <IResourceType>().Select(a => (a as CLEMModel).NameWithParent); if (list != null) { results.AddRange(resources.FindResource(type as Type).FindAllChildren <IResourceType>().Select(a => (a as CLEMModel).NameWithParent)); } } } } } return(results.AsEnumerable()); }
public void TestSubCategory() { var sub = ResourcesHolder.GetLastOrCreate <CategoryResource>().Value; var response = GetClient <IProductsControllClient>().GetByCategory(sub.Id).Result; Assert.AreEqual(CreatedResource, response.Value.First()); }
private void SetOrderShipped() { var orderClient = GetClient <IOrdersControllClient>(); var orderId = ResourcesHolder.GetResourceId <OrderResource>(); orderClient.SetOrderShipped(orderId).Wait(); }
/// <inheritdoc/> public override string ModelSummary() { using (StringWriter htmlWriter = new StringWriter()) { if (this.Parent.GetType() != typeof(LabourActivityFeed)) { htmlWriter.Write("<div class=\"warningbanner\">This Labour Feed Group must be placed beneath a Labour Activity Feed component</div>"); return(htmlWriter.ToString()); } LabourFeedActivityTypes ft = (this.Parent as LabourActivityFeed).FeedStyle; htmlWriter.Write("\r\n<div class=\"activityentry\">"); switch (ft) { case LabourFeedActivityTypes.SpecifiedDailyAmountPerAE: case LabourFeedActivityTypes.SpecifiedDailyAmountPerIndividual: htmlWriter.Write("<span class=\"" + ((Value <= 0) ? "errorlink" : "setvalue") + "\">" + Value.ToString() + "</span>"); break; default: break; } ZoneCLEM zoneCLEM = FindAncestor <ZoneCLEM>(); ResourcesHolder resHolder = zoneCLEM.FindChild <ResourcesHolder>(); HumanFoodStoreType food = resHolder.FindResourceType <HumanFoodStore, HumanFoodStoreType>(this, (this.Parent as LabourActivityFeed).FeedTypeName, OnMissingResourceActionTypes.Ignore, OnMissingResourceActionTypes.Ignore); if (food != null) { htmlWriter.Write(" " + food.Units + " "); } htmlWriter.Write("<span class=\"setvalue\">"); switch (ft) { case LabourFeedActivityTypes.SpecifiedDailyAmountPerIndividual: htmlWriter.Write(" per individual per day"); break; case LabourFeedActivityTypes.SpecifiedDailyAmountPerAE: htmlWriter.Write(" per AE per day"); break; default: break; } htmlWriter.Write("</span> "); switch (ft) { case LabourFeedActivityTypes.SpecifiedDailyAmountPerAE: case LabourFeedActivityTypes.SpecifiedDailyAmountPerIndividual: htmlWriter.Write("is fed to each individual"); break; } htmlWriter.Write(" that matches the following conditions:"); htmlWriter.Write("</div>"); return(htmlWriter.ToString()); } }
public void FillDatabaseWithDeliveryWindows() { for (int i = 0; i < SCALE; i++) { ResourcesHolder.Create <DeliveryWindowResource>(); } ResourcesHolder.Create <OrderResource>(); }
public void Test_No_Promotion_On_Weighable_Product() { var cartItemEdit = GetCartItemEdit(-1); var cartItem = ResourcesHolder.EditAndCreate <CartItemCreateResource, CartItemResource>(cartItemEdit).Value; Assert.IsFalse(cartItem.ItemPrice.HasDiscount); }
public void TestAddItemsOrderStatusShipped() { SetOrderShipped(); var response = ResourcesHolder.Create <OrderItemResource>(); AssertBadRequestReason(response, BadRequestReasonExtended.OrderNotPending); }
public void TestDeliveryNotAvilibale() { ResourcesHolder.GetLastOrCreate <OrderResource>(); var deliveryWindow = ResourcesHolder.GetLastOrCreate <DeliveryWindowResource>().Value; Assert.IsFalse(deliveryWindow.IsAvailable); }
public void TestSameProducts() { var result = ResourcesHolder.Create <CartItemResource>(); AssertBadRequestReason(result, BadRequestReason.SameExists); var cart = ResourcesHolder.GetLastOrCreate <CartResource>().Value; Assert.AreEqual(1, cart.Items.Count()); }
public void TestMyCartEmpty() { ResourcesHolder.DeleteAll <CartResource>(); var myCartResult = GetMyCartResult(); AssertNotErrors(myCartResult); Assert.IsNull(myCartResult.Value); }
public void EmployeeAddedToManagerStaff() { var managerId = CreatedResource.Id; var employee = GetEmployeeWithManager(managerId); var manager = ResourcesHolder.Get <EmployeeResource>(managerId).Value; Assert.AreEqual(manager.Staff[0], employee.Id); }
public void DeleteManagerFail() { var managerId = CreatedResource.Id; GetEmployeeWithManager(managerId); var managerDeleteResponse = ResourcesHolder.Delete <EmployeeResource>(managerId); AssertBadRequestReason(managerDeleteResponse, BadRequestReasonExtended.ManagerHasStaff); }
private CartItemResource AddCartItem(int extraItem = 0) { var createResource = new CartItemCreateResource() { ProductId = CreatedResource.Product.Id, Quantity = CreatedResource.TriggeringQuantity + extraItem }; return(ResourcesHolder.Create <CartItemCreateResource, CartItemResource>(createResource).Value); }
public void ManagerNotFound() { var managerId = CreatedResource.Id; ResourcesHolder.Delete <EmployeeResource>(managerId); var response = ResourcesHolder.EditAndCreate <EmployeeCreateResource, EmployeeUpdateResource, EmployeeResource>(u => u.ManagerId = managerId); AssertNotFound(response); }
public virtual void TestFamilyUpdate() { var resourceToUpdate = ResourceCreator.GetRandomCreateResource(); ResourceCreator.Update(CreatedResource.Id, resourceToUpdate); var category = ResourcesHolder.GetLastOrCreate <DepartmentResource>().Value; Assert.AreEqual(resourceToUpdate.FamilyName, category.Families.First().Name); Assert.AreEqual(resourceToUpdate.Name, category.Families.First().Categories.First().Name); }
public void TestGetOrCreateCreatesCart() { ResourcesHolder.DeleteAll <CartResource>(); var cartsClient = GetClient <ICartsControllClient>(); var cartResource = cartsClient.GetOrCreate(new CartCreateResource()).Result.Value; Assert.AreNotEqual(cartResource, CreatedResource); cartsClient.Delete(cartResource.Id); }
public void EmployeeRemoveFromManagerStaff() { var managerId = CreatedResource.Id; var employee = GetEmployeeWithManager(managerId); ResourcesHolder.Delete <EmployeeResource>(employee.Id); var manager = ResourcesHolder.Get <EmployeeResource>(managerId).Value; Assert.IsTrue(manager.Staff.Length == 0); }
private void DeleteAllResourcesOfType <TCreateResource, TResource>() where TCreateResource : CreateResource where TResource : Resource { ResourcesHolder.DeleteAll <TResource>(); var resourceClient = GetClient <IRestClient <TCreateResource, TResource> >(); var resources = resourceClient.Get().Result; foreach (var resource in resources.Value) { resourceClient.Delete(resource.Id).Wait(); } }
public void TestTwoProducts() { var firstCartItem = CreatedResource; ResourcesHolder.Create <ProductResource>(); CreateResource(); var cart = ResourcesHolder.GetLastOrCreate <CartResource>().Value; Assert.AreEqual(2, cart.Items.Count()); decimal cartPrice = firstCartItem.ItemPrice.TotalPrice + CreatedResource.ItemPrice.TotalPrice; Assert.AreEqual(cartPrice, cart.CartPrice.TotalPrice); }
public async Task TestAddOrder() { ResourcesHolder.Create <CartItemResource>(); var order = ResourcesHolder.Create <OrderResource>().Value; ResourcesHolder.DeleteAll <CartResource>(); var cart = ResourcesHolder.GetLastOrCreate <CartResource>().Value; var result = await GetClient <ICartsControllClient>().AddOrder(cart.Id, order.Id); cart = result.Value; Assert.AreNotEqual(order.Cart.Id, cart.Id); Assert.AreEqual(order.Cart.Items.First(), cart.Items.First()); }
public void TestTwoPromotionApplies() { ResourcesHolder.Delete <PromotionResource>(CreatedResource.Id); Action <PromotionCreateResource> edit = p => { p.TriggeringQuantity = 2; p.IsReApply = true; }; CreatedResource = ResourcesHolder.EditAndCreate <PromotionCreateResource, PromotionResource>(edit).Value; AddCartItem(2); var cart = GetExistingOrNew <CartResource>(); var expectedPromotionDiscount = ExpectedPromotionDiscount(2); Assert.AreEqual(expectedPromotionDiscount, cart.CartPrice.BeforeDiscount - cart.CartPrice.TotalPrice); }
public void FillDatabaseWithOrders() { var allProducts = GetAll <ProductCreateResource, ProductResource>(); var allPromotions = GetAll <PromotionCreateResource, PromotionResource>(); for (int i = 0; i < SCALE; i++) { TokenHandler.LoginWithNewUser(); ResourcesHolder.Create <CartResource>(); AddItemsToCart(allProducts, allPromotions); ResourcesHolder.Create <AddressResource>(); ResourcesHolder.Create <OrderResource>(); ResourcesHolder.DeleteAll <CartResource>(); } }
/// <summary> /// return a list of resource group cpmponents available /// </summary> /// <returns>A list of names of components</returns> public IEnumerable <string> GetResourceGroupsAvailable() { List <string> results = new List <string>(); Zone zone = this.FindAncestor <Zone>(); if (!(zone is null)) { ResourcesHolder resources = zone.FindChild <ResourcesHolder>(); if (!(resources is null)) { foreach (var model in resources.FindAllChildren <ResourceBaseWithTransactions>()) { results.Add(model.Name); } } } return(results.AsEnumerable()); }