mirror of
				https://github.com/aclindsa/moneygo.git
				synced 2025-11-04 02:23:26 -05:00 
			
		
		
		
	testing: Test fetching all transactions
This commit is contained in:
		@@ -117,6 +117,11 @@ func (tl *TransactionList) Write(w http.ResponseWriter) error {
 | 
				
			|||||||
	return enc.Encode(tl)
 | 
						return enc.Encode(tl)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (tl *TransactionList) Read(json_str string) error {
 | 
				
			||||||
 | 
						dec := json.NewDecoder(strings.NewReader(json_str))
 | 
				
			||||||
 | 
						return dec.Decode(tl)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (atl *AccountTransactionsList) Write(w http.ResponseWriter) error {
 | 
					func (atl *AccountTransactionsList) Write(w http.ResponseWriter) error {
 | 
				
			||||||
	enc := json.NewEncoder(w)
 | 
						enc := json.NewEncoder(w)
 | 
				
			||||||
	return enc.Encode(atl)
 | 
						return enc.Encode(atl)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,15 @@ func getTransaction(client *http.Client, transactionid int64) (*handlers.Transac
 | 
				
			|||||||
	return &s, nil
 | 
						return &s, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func getTransactions(client *http.Client) (*handlers.TransactionList, error) {
 | 
				
			||||||
 | 
						var tl handlers.TransactionList
 | 
				
			||||||
 | 
						err := read(client, &tl, "/transaction/", "transactions")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return &tl, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func updateTransaction(client *http.Client, transaction *handlers.Transaction) (*handlers.Transaction, error) {
 | 
					func updateTransaction(client *http.Client, transaction *handlers.Transaction) (*handlers.Transaction, error) {
 | 
				
			||||||
	var s handlers.Transaction
 | 
						var s handlers.Transaction
 | 
				
			||||||
	err := update(client, transaction, &s, "/transaction/"+strconv.FormatInt(transaction.TransactionId, 10), "transaction")
 | 
						err := update(client, transaction, &s, "/transaction/"+strconv.FormatInt(transaction.TransactionId, 10), "transaction")
 | 
				
			||||||
@@ -188,6 +197,47 @@ func TestGetTransaction(t *testing.T) {
 | 
				
			|||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestGetTransactions(t *testing.T) {
 | 
				
			||||||
 | 
						RunWith(t, &data[0], func(t *testing.T, d *TestData) {
 | 
				
			||||||
 | 
							tl, err := getTransactions(d.clients[0])
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								t.Fatalf("Error fetching transactions: %s\n", err)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							numtransactions := 0
 | 
				
			||||||
 | 
							foundIds := make(map[int64]bool)
 | 
				
			||||||
 | 
							for i := 0; i < len(data[0].transactions); i++ {
 | 
				
			||||||
 | 
								orig := data[0].transactions[i]
 | 
				
			||||||
 | 
								curr := d.transactions[i]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if curr.UserId != d.users[0].UserId {
 | 
				
			||||||
 | 
									continue
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								numtransactions += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								found := false
 | 
				
			||||||
 | 
								for _, tran := range *tl.Transactions {
 | 
				
			||||||
 | 
									if tran.TransactionId == curr.TransactionId {
 | 
				
			||||||
 | 
										ensureTransactionsMatch(t, &curr, &tran, nil, true, true)
 | 
				
			||||||
 | 
										if _, ok := foundIds[tran.TransactionId]; ok {
 | 
				
			||||||
 | 
											continue
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
										foundIds[tran.TransactionId] = true
 | 
				
			||||||
 | 
										found = true
 | 
				
			||||||
 | 
										break
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if !found {
 | 
				
			||||||
 | 
									t.Errorf("Unable to find matching transaction: %+v", orig)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if numtransactions != len(*tl.Transactions) {
 | 
				
			||||||
 | 
								t.Fatalf("Expected %d transactions, received %d", numtransactions, len(*tl.Transactions))
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestUpdateTransaction(t *testing.T) {
 | 
					func TestUpdateTransaction(t *testing.T) {
 | 
				
			||||||
	RunWith(t, &data[0], func(t *testing.T, d *TestData) {
 | 
						RunWith(t, &data[0], func(t *testing.T, d *TestData) {
 | 
				
			||||||
		for i := 0; i < len(data[0].transactions); i++ {
 | 
							for i := 0; i < len(data[0].transactions); i++ {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user