@@ -70,6 +70,60 @@ public function testDeposit(): void
7070 $ wallet ->withdraw ($ wallet ->balance );
7171 $ this ->assertEquals ($ user ->balance , 0 );
7272 $ this ->assertEquals ($ wallet ->balance , 0 );
73+
74+ $ transaction = $ wallet ->depositFloat (10.10 );
75+ $ this ->assertEquals ($ user ->balance , 0 );
76+ $ this ->assertEquals ($ wallet ->balance , 1010 );
77+ $ this ->assertEquals ($ wallet ->balanceFloat , 10.10 );
78+
79+ $ user ->refresh ();
80+
81+ // is equal
82+ $ this ->assertTrue ($ transaction ->wallet ->is ($ user ->getWallet ('deposit ' )));
83+ $ this ->assertTrue ($ user ->getWallet ('deposit ' )->is ($ wallet ));
84+ $ this ->assertTrue ($ wallet ->is ($ user ->getWallet ('deposit ' )));
85+
86+ $ wallet ->withdrawFloat ($ wallet ->balanceFloat );
87+ $ this ->assertEquals ($ wallet ->balanceFloat , 0 );
88+ }
89+
90+ /**
91+ * @return void
92+ */
93+ public function testDepositFloat (): void
94+ {
95+ /**
96+ * @var UserMulti $userInit
97+ * @var UserMulti $userFind
98+ */
99+ $ userInit = factory (UserMulti::class)->create ();
100+ $ wallet = $ userInit ->createWallet ([
101+ 'name ' => 'my-simple-wallet ' ,
102+ 'slug ' => $ userInit ->getKey ()
103+ ]);
104+
105+ // without find
106+ $ wallet ->depositFloat (100.1 );
107+
108+ $ this ->assertEquals ($ wallet ->balanceFloat , 100.1 );
109+ $ this ->assertEquals ($ wallet ->balance , 10010 );
110+
111+ $ wallet ->withdrawFloat ($ wallet ->balanceFloat );
112+ $ this ->assertEquals ($ wallet ->balanceFloat , 0 );
113+
114+ // find
115+ $ userFind = UserMulti::query ()->find ($ userInit ->id ); // refresh
116+ $ this ->assertTrue ($ userInit ->is ($ userFind ));
117+ $ this ->assertTrue ($ userFind ->hasWallet ($ userInit ->getKey ()));
118+
119+ $ wallet = $ userFind ->getWallet ($ userInit ->getKey ());
120+ $ wallet ->depositFloat (100.1 );
121+
122+ $ this ->assertEquals ($ wallet ->balanceFloat , 100.1 );
123+ $ this ->assertEquals ($ wallet ->balance , 10010 );
124+
125+ $ wallet ->withdrawFloat ($ wallet ->balanceFloat );
126+ $ this ->assertEquals ($ wallet ->balanceFloat , 0 );
73127 }
74128
75129 /**
0 commit comments