测试应用程序
让我们测试一下我们的市场应用。
本节课中,我们将测试市场应用的一些基本功能。目前我们尚未为该应用开发前端界面,因此将使用 curl 命令通过控制台来测试应用。
应用中有两类用户:
- 卖家
- 买家
我们将分别以卖家和买家的身份测试应用,验证其是否实现了设计目标。
首先进行卖家和买家共用的初始化操作。
创建用户
请按照以下步骤创建一个用户:
点击“Run”按钮打开终端,然后在“Terminal”标签旁点击“+”按钮新建一个终端。在新终端中启动 Rails 服务:
1$ cd usercode/workspace/market_place_api && rails s
切换回第一个终端并执行以下命令:
1$ curl --request POST -d 'user[email]=enter email address here' -d 'user[password]=enter password here' localhost:3000/api/v1/users
注意:请将命令中的
enter email address here替换为实际邮箱地址,enter password here替换为实际密码。
执行后,系统将创建一个具有指定邮箱的用户。接下来,无论是卖家还是买家,都需要获取一个访问令牌(token),用于后续添加商品或下单操作。
请求令牌
在控制台中运行以下命令,为用户生成令牌:
1$ curl -X POST --data "user[email]=enter email address here" --data "user[password]=enter password here" http://localhost:3000/api/v1/tokens
注意:同样需要将
enter email address here和enter password here分别替换为实际的邮箱和密码。
执行成功后,系统将返回一个令牌,有效期为24小时。
现在我们已成功创建用户并获取了令牌,可以进行后续操作。接下来测试与卖家相关的功能。
卖家:添加商品
获取认证令牌后,卖家可将欲出售的商品信息添加到数据库,商品将与该卖家账户关联。在控制台中输入以下命令添加商品:
1$ curl --header "Authorization:enter auth token here" --request POST --data 'product[title]=enter product title here&product[price]=enter price here&product[published]=true' http://127.0.0.1:3000/api/v1/products/
注意:请将
enter auth token here替换为实际的认证令牌,enter product title here替换为商品标题,enter price here替换为商品价格。
执行后,商品将被创建并与当前用户绑定。此时卖家已拥有有效账户,并上架了一件待售商品。
买家:下单购买
买家在获取认证令牌后,即可提交订单。在控制台中运行以下命令下单:
1$ curl -X POST -H "Authorization: enter auth token here" -d "order[product_ids_and_quantities][][product_id]=enter product id here" -d "order[product_ids_and_quantities][][quantity]=enter quantity here" localhost:3000/api/v1/orders
注意:请将
enter auth token here替换为实际令牌,enter product id here替换为目标商品 ID,enter quantity here替换为购买数量。
执行后,系统将成功创建一笔订单。
至此,我们已完成对应用基本功能的测试,所有测试均顺利通过。