public async Task GetOrdersAsync_CanSearchByCreatedByAsync(string createdBy) { // Arrange var search = new SearchOrderParametersVm { CreatedBy = createdBy }; // Action var orders = await _service.GetOrdersAsync(search, null); // Assert Assert.NotEmpty(orders); Assert.All(orders, order => order.CreatedBy.Contains(createdBy)); }
public async Task GetOrdersAsync_CanSearchByCustomerAsync(string customer) { // Arrange var search = new SearchOrderParametersVm { CustomerName = customer }; // Action var orders = await _service.GetOrdersAsync(search, null); // Assert Assert.NotEmpty(orders); Assert.All(orders, order => order.CustomerName.Contains(customer)); }
public async Task GetOrdersAsync_CanSearchByStatusAsync(OrderStatus status) { // Arrange var search = new SearchOrderParametersVm { Status = status }; // Action var orders = await _service.GetOrdersAsync(search, null); // Assert Assert.NotEmpty(orders); Assert.All(orders, order => order.Status.Equals(status)); }
public async Task GetOrdersAsync_ShouldSortIdDescendinglyByDefaultAsync() { // Arrange var search = new SearchOrderParametersVm(); // Action var orders = await _service.GetOrdersAsync(search, null); // Assert Assert.NotEmpty(orders); Assert.True(orders.ElementAt(1).Id <= orders.ElementAt(0).Id); Assert.True(orders.ElementAt(2).Id <= orders.ElementAt(1).Id); Assert.True(orders.ElementAt(3).Id <= orders.ElementAt(2).Id); }
public async Task GetOrdersAsync_CanSortByTotalAsync() { // Arrange var search = new SearchOrderParametersVm(); var sort = new Sort { Predicate = "OrderTotal", Reverse = true }; // Action var orders = await _service.GetOrdersAsync(search, sort); // Assert Assert.NotEmpty(orders); Assert.True(orders.ElementAt(1).Total <= orders.ElementAt(0).Total); Assert.True(orders.ElementAt(2).Total <= orders.ElementAt(1).Total); Assert.True(orders.ElementAt(3).Total <= orders.ElementAt(2).Total); }
public async Task GetOrdersAsync_CanSearchByCreatedOnAsync() { // Arrange const string DateFormat = "dd/MM/yyyy"; var search = new SearchOrderParametersVm { CreatedOn = new PeriodVm { After = new DateTime(2018, 12, 1), Before = new DateTime(2019, 1, 1) } }; // Action var orders = await _service.GetOrdersAsync(search, null); // Assert Assert.NotEmpty(orders); Assert.True(orders.All(order => DateTime.ParseExact(order.CreatedOn, DateFormat, CultureInfo.InvariantCulture) >= search.CreatedOn.After)); Assert.True(orders.All(order => DateTime.ParseExact(order.CreatedOn, DateFormat, CultureInfo.InvariantCulture) <= search.CreatedOn.Before)); }