()
| 1911 | #[tokio::test] |
| 1912 | #[ignore] |
| 1913 | async fn postgres_solvable_orders() { |
| 1914 | let mut db = PgConnection::connect("postgresql://").await.unwrap(); |
| 1915 | let mut db = db.begin().await.unwrap(); |
| 1916 | crate::clear_DANGER_(&mut db).await.unwrap(); |
| 1917 | |
| 1918 | let order = Order { |
| 1919 | kind: OrderKind::Sell, |
| 1920 | sell_amount: 10.into(), |
| 1921 | buy_amount: 100.into(), |
| 1922 | valid_to: 3, |
| 1923 | partially_fillable: true, |
| 1924 | creation_timestamp: Utc::now(), |
| 1925 | ..Default::default() |
| 1926 | }; |
| 1927 | insert_order(&mut db, &order).await.unwrap(); |
| 1928 | |
| 1929 | async fn get_full_order(ex: &mut PgConnection, min_valid_to: i64) -> Option<FullOrder> { |
| 1930 | solvable_orders(ex, min_valid_to) |
| 1931 | .next() |
| 1932 | .await |
| 1933 | .transpose() |
| 1934 | .unwrap() |
| 1935 | } |
| 1936 | |
| 1937 | // not solvable because valid to |
| 1938 | assert!(get_full_order(&mut db, 4).await.is_none()); |
| 1939 | |
| 1940 | // not solvable because fully executed |
| 1941 | crate::events::append( |
| 1942 | &mut db, |
| 1943 | &[( |
| 1944 | EventIndex { |
| 1945 | block_number: 0, |
| 1946 | log_index: 0, |
| 1947 | }, |
| 1948 | Event::Trade(Trade { |
| 1949 | order_uid: order.uid, |
| 1950 | sell_amount_including_fee: 10.into(), |
| 1951 | ..Default::default() |
| 1952 | }), |
| 1953 | )], |
| 1954 | ) |
| 1955 | .await |
| 1956 | .unwrap(); |
| 1957 | assert!(get_full_order(&mut db, 0).await.is_none()); |
| 1958 | crate::events::delete(&mut db, 0).await.unwrap(); |
| 1959 | |
| 1960 | // not solvable because invalidated |
| 1961 | crate::events::append( |
| 1962 | &mut db, |
| 1963 | &[( |
| 1964 | EventIndex { |
| 1965 | block_number: 0, |
| 1966 | log_index: 0, |
| 1967 | }, |
| 1968 | Event::Invalidation(Invalidation { |
| 1969 | order_uid: order.uid, |
| 1970 | }), |
nothing calls this directly
no test coverage detected