# API テスト内容 テスト観点を下記に示す。 # create - レスポンスコード - レスポンスのプロパティ - 正常系の場合、**リクエストパラメータで指定したデータ**を確認 - 異常系の場合、**エラーコード**と**エラーメッセージ**を確認 リクエストパラメータで指定したデータが下記であった時・・・ ``` { name: 'maruyama', age: 25 } ``` ```ts= // 正常系 .then((res) => { expect(res.code).toBe(200) const data = res.body expect(data).toHaveProperty('name') expect(data).toHaveProperty('age') expect(data.name).toBe('maruyama') expect(data.name).toBe(25) }) // 異常系 .then((res) => { expect(res.code).toBe(500) const { error } = res.body expect(error.message).toBe('パラメータが不正です。') }) ``` # update # read - レスポンスコード - レスポンスのプロパティ - 1つに定まる場合、個数が1であること - テストデータに基づき、含まれるべきIDと含まれないべきIDがあれば、 それを `toBeContain()` で判定する。 下記は、id:1 は含まれるべきで id:999 は含まれないべきであるテスト。 ```ts // get .then((res)=> { expect(res.code).toBe(200) const data = res.body expect(data).toHaveProperty('count') expect(data).toHaveProperty('users') expect(data.count).toBe(1) const users = data.users const userIds = users.map(user => user.user_id) expect(userIds).toContain(1) expect(userIds).not.toContain(999) done() }) ``` # delete