| Conditions | 1 |
| Total Lines | 56 |
| Code Lines | 42 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | package flutterwave |
||
| 114 | func TestBillsService_GetStatusVerbose(t *testing.T) { |
||
| 115 | // Setup |
||
| 116 | t.Parallel() |
||
| 117 | |||
| 118 | // Arrange |
||
| 119 | server := helpers.MakeTestServer(http.StatusOK, stubs.BillsGetStatusVerboseResponse()) |
||
| 120 | client := New(WithBaseURL(server.URL)) |
||
| 121 | |||
| 122 | // Act |
||
| 123 | data, response, err := client.Bills.GetStatusVerbose(context.Background(), "9300049404444") |
||
| 124 | |||
| 125 | // Assert |
||
| 126 | assert.Nil(t, err) |
||
| 127 | |||
| 128 | transactionDate, err := dateparse.ParseAny("2020-03-11T20:19:21.27Z") |
||
| 129 | assert.Nil(t, err) |
||
| 130 | |||
| 131 | assert.Equal(t, &BillsStatusVerboseResponse{ |
||
| 132 | Status: "success", |
||
| 133 | Message: "Bill status fetch successful", |
||
| 134 | Data: struct { |
||
| 135 | Currency string `json:"currency"` |
||
| 136 | CustomerID string `json:"customer_id"` |
||
| 137 | Frequency string `json:"frequency"` |
||
| 138 | Amount string `json:"amount"` |
||
| 139 | Product string `json:"product"` |
||
| 140 | ProductName string `json:"product_name"` |
||
| 141 | Commission int `json:"commission"` |
||
| 142 | TransactionDate time.Time `json:"transaction_date"` |
||
| 143 | Country string `json:"country"` |
||
| 144 | TxRef string `json:"tx_ref"` |
||
| 145 | Extra interface{} `json:"extra"` |
||
| 146 | ProductDetails string `json:"product_details"` |
||
| 147 | Status string `json:"status"` |
||
| 148 | }{ |
||
| 149 | "NGN", |
||
| 150 | "+23490803840303", |
||
| 151 | "One Time", |
||
| 152 | "500.0000", |
||
| 153 | "AIRTIME", |
||
| 154 | "9MOBILE", |
||
| 155 | 10, |
||
| 156 | transactionDate, |
||
| 157 | "NG", |
||
| 158 | "CF-FLYAPI-20200311081921359990", |
||
| 159 | nil, |
||
| 160 | "FLY-API-NG-AIRTIME-9MOBILE", |
||
| 161 | "successful", |
||
| 162 | }, |
||
| 163 | }, data) |
||
| 164 | |||
| 165 | assert.Equal(t, http.StatusOK, response.HTTPResponse.StatusCode) |
||
| 166 | assert.True(t, data.IsSuccessfull()) |
||
| 167 | |||
| 168 | // Teardown |
||
| 169 | server.Close() |
||
| 170 | } |
||
| 171 |