Skip to content

Instantly share code, notes, and snippets.

@ymoussaba
Last active November 17, 2020 01:33
Show Gist options
  • Select an option

  • Save ymoussaba/8479a39ee8d9adf73bc7d80fb99efd1e to your computer and use it in GitHub Desktop.

Select an option

Save ymoussaba/8479a39ee8d9adf73bc7d80fb99efd1e to your computer and use it in GitHub Desktop.
Mobx Store Test
class MockOrderRepository extends Mock implements IRepository<Order> {}
void main() {
final mockOrderRepository = MockOrderRepository();
final item = OrderItem(
quantity: 1,
id: "klm",
price: 5,
vat: 0,
name: "test",
);
final item2 = OrderItem(
quantity: 1,
id: "xyz",
price: 5,
vat: 0,
name: "test",
);
when(mockOrderRepository.get()).thenAnswer(
(_) => Future.value(
[
Order(
[item, item2],
10,
0,
10,
CashPayment(),
date: DateTime.parse("2019-06-11 11:56:50"),
id: "rzvn",
),
Order(
[item, item2],
10,
0,
10,
CashPayment(),
date: DateTime.parse("2019-06-12 11:56:50"),
id: "mcds",
)
],
),
);
setUp(() async {});
group("HistoryStore", () {
// Let's init the Modules Container
final HistoryStore historyStore = HistoryStore(mockOrderRepository);
test("observables have default values", () {
expect(historyStore.orders.length, equals(2));
expect(historyStore.filter, equals(""));
expect(historyStore.paymentFilter, equals(""));
expect(historyStore.filteredOrders.length, equals(2));
expect(historyStore.groupedOrders.entries.length, equals(2));
expect(historyStore.paymentMethods.length, equals(1));
});
test("orders are correctly filtered by payment type", () {
historyStore.setPaymentFilter("cash");
expect(historyStore.filteredOrders.length, equals(2));
expect(historyStore.groupedOrders.entries.length, equals(2));
expect(historyStore.paymentMethods.length, equals(1));
historyStore.setPaymentFilter("sumup");
expect(historyStore.filteredOrders.length, equals(0));
expect(historyStore.groupedOrders.entries.length, equals(0));
expect(historyStore.paymentMethods.length, equals(1));
});
test("orders are correctly filtered by id", () {
historyStore.setPaymentFilter("");
historyStore.setFilter("rzvn");
expect(historyStore.filteredOrders.length, equals(1));
expect(historyStore.groupedOrders.entries.length, equals(1));
expect(historyStore.paymentMethods.length, equals(1));
historyStore.setFilter("");
expect(historyStore.filteredOrders.length, equals(2));
expect(historyStore.groupedOrders.entries.length, equals(2));
expect(historyStore.paymentMethods.length, equals(1));
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment