Package com.yummynoodlebar.rest.controller.fixture

Source Code of com.yummynoodlebar.rest.controller.fixture.RestDataFixture

package com.yummynoodlebar.rest.controller.fixture;

import com.yummynoodlebar.core.events.orders.*;
import com.yummynoodlebar.rest.domain.Order;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;

//TODOCUMENT.  Use of test data fixture classes is considered good practice.
/*
The majority of tests aren't testing data edge cases, they are testing logical flows and
what happens to a generic set of data.  For these, use a small, standardised set of fixtures.

For anything more esoteric, create a new fixture in the test class.
*/
public class RestDataFixture {
  public static final String YUMMY_ITEM = "yummy1";

  public static AllOrdersEvent allOrders() {
    List<OrderDetails> orders = new ArrayList<OrderDetails>();

    orders.add(standardOrderDetails());
    orders.add(standardOrderDetails());
    orders.add(standardOrderDetails());

    return new AllOrdersEvent(orders);
  }

  public static Order standardOrder() {
    Order order = new Order();

    order.setItems(Collections.singletonMap(YUMMY_ITEM, 12));

    return order;
  }

  public static OrderDetails customKeyOrderDetails(UUID key) {
    OrderDetails orderdetails = new OrderDetails(key);

    orderdetails.setOrderItems(Collections.singletonMap(YUMMY_ITEM, 12));

    return orderdetails;
  }
  public static OrderDetails standardOrderDetails() {
    return customKeyOrderDetails(UUID.randomUUID());
  }

  public static String standardOrderJSON() {
    return "{ \"items\": { \"yummy1\": 12, \"yummy15\": 42 } }";
  }
}
TOP

Related Classes of com.yummynoodlebar.rest.controller.fixture.RestDataFixture

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.