Skip to content

Commit

Permalink
Removed test limit; added /berry/ endpoints and unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mtslzr committed Jun 22, 2019
1 parent 2c3d523 commit b45e1b4
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 46 deletions.
5 changes: 1 addition & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
all: deps testall
all: deps test

deps: tidy vend

test:
go test -v -tags quick ./tests/...

testall:
go test -v ./tests/...

tidy:
Expand Down
58 changes: 18 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,14 @@ import pokeapi "github.com/mtslzr/pokeapi-go"

```go
b := pokeapi.Resource("berry")
fmt.Println(b)
```

```json
{
"count": 64,
"next": "https://pokeapi.co/api/v2/berry?offset=20&limit=20",
"previous": null,
"results": [
{
"name": "cheri",
"url": "https://pokeapi.co/api/v2/berry/1/"
},
//...
#### Single Berry

*Can pass an ID (e.g. "1") or name (e.g. "cheri").*

```go
b := pokeapi.Berry("cheri")
```

</details>
Expand All @@ -54,20 +48,14 @@ import pokeapi "github.com/mtslzr/pokeapi-go"

```go
b := pokeapi.Resource("berry-firmness")
fmt.Println(b)
```

```json
{
"count": 5,
"next": null,
"previous": null,
"results": [
{
"name": "very-soft",
"url": "https://pokeapi.co/api/v2/berry-firmness/1/"
},
//...
#### Single Berry Firmness

*Can pass an ID (e.g. "1") or name (e.g. "very-soft").*

```go
b := pokeapi.BerryFirmness("very-soft")
```

</details>
Expand All @@ -79,20 +67,14 @@ import pokeapi "github.com/mtslzr/pokeapi-go"

```go
b := pokeapi.Resource("berry-flavor")
fmt.Println(b)
```

```json
{
"count": 5,
"next": null,
"previous": null,
"results": [
{
"name": "spicy",
"url": "https://pokeapi.co/api/v2/berry-flavor/1/"
},
//...
#### Single Berry

*Can pass an ID (e.g. "1") or name (e.g. "spicy").*

```go
b := pokeapi.BerryFlavor("spicy")
```

</details>
Expand Down Expand Up @@ -121,10 +103,6 @@ import pokeapi "github.com/mtslzr/pokeapi-go"

Current progress on remaining endpoints. **Bold** are partially implemented.

### Berries
- [ ] GET /berry/{id or name}/
- [ ] GET /berry-firmness/{id or name}/
- [ ] GET /berry-flavor/{id or name}/
### Contests
- [ ] GET /contest-type/{id or name}/
- [ ] GET /contest-effect/{id}/
Expand Down
25 changes: 25 additions & 0 deletions berries.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package pokeapi

import (
"fmt"

"github.com/mtslzr/pokeapi-go/structs"
)

// Berry returns a single berry (by name or ID).
func Berry(id string) (result structs.Berry, err error) {
err = do(fmt.Sprintf("berry/%s", id), &result)
return result, err
}

// BerryFirmness returns a single berry firmness (by name or ID).
func BerryFirmness(id string) (result structs.BerryFirmness, err error) {
err = do(fmt.Sprintf("berry-firmness/%s", id), &result)
return result, err
}

// BerryFlavor returns a single berry flavor (by name or ID).
func BerryFlavor(id string) (result structs.BerryFlavor, err error) {
err = do(fmt.Sprintf("berry-flavor/%s", id), &result)
return result, err
}
62 changes: 62 additions & 0 deletions tests/berries_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package tests

import (
"testing"

pokeapi "github.com/mtslzr/pokeapi-go"
"github.com/stretchr/testify/assert"
)

func TestBerry(t *testing.T) {
result, _ := pokeapi.Berry("1")
assert.Equal(t, "cheri", result.Name,
"Expect to receive Cheri.")
}

func TestBerryByName(t *testing.T) {
result, _ := pokeapi.Berry("cheri")
assert.Equal(t, "cheri", result.Name,
"Expect to receive Cheri.")
}

func TestBerryFail(t *testing.T) {
result, _ := pokeapi.Berry("asdf")
assert.Equal(t, "", result.Name,
"Expect to receive an empty result.")
}

func TestBerryFirmness(t *testing.T) {
result, _ := pokeapi.BerryFirmness("1")
assert.Equal(t, "very-soft", result.Name,
"Expect to receive Very Soft.")
}

func TestBerryFirmnessByName(t *testing.T) {
result, _ := pokeapi.BerryFirmness("very-soft")
assert.Equal(t, "very-soft", result.Name,
"Expect to receive Very Soft.")
}

func TestBerryFirmnessFail(t *testing.T) {
result, _ := pokeapi.BerryFirmness("asdf")
assert.Equal(t, "", result.Name,
"Expect to receive an empty result.")
}

func TestBerryFlavor(t *testing.T) {
result, _ := pokeapi.BerryFlavor("1")
assert.Equal(t, "spicy", result.Name,
"Expect to receive Spicy.")
}

func TestBerryFlavorByName(t *testing.T) {
result, _ := pokeapi.BerryFlavor("spicy")
assert.Equal(t, "spicy", result.Name,
"Expect to receive Spicy.")
}

func TestBerryFlavorFail(t *testing.T) {
result, _ := pokeapi.BerryFlavor("asdf")
assert.Equal(t, "", result.Name,
"Expect to receive an empty result.")
}
2 changes: 0 additions & 2 deletions tests/resource_test.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// +build !quick

package tests

import (
Expand Down

0 comments on commit b45e1b4

Please sign in to comment.