TraitsTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. declare(strict_types=1);
  3. use Tinywan\Storage\Traits\ErrorMsg;
  4. use Tinywan\Storage\Traits\StaticErrorMsg;
  5. $errorMsg = new class {
  6. use ErrorMsg;
  7. };
  8. test('setError 记录错误信息并返回成功标记', function () use ($errorMsg) {
  9. expect($errorMsg->setError(false, '上传失败', ['id' => 1]))
  10. ->toBeFalse()
  11. ->and($errorMsg->getError())
  12. ->toBe([
  13. 'message' => '上传失败',
  14. 'data' => ['id' => 1],
  15. ])
  16. ->and($errorMsg->getMessage())
  17. ->toBe('上传失败');
  18. });
  19. test('returnData 返回统一响应结构', function () use ($errorMsg) {
  20. expect($errorMsg->returnData(true, 'ok', 200, [
  21. 'k' => 'v',
  22. ]))->toBe([
  23. 'success' => true,
  24. 'message' => 'ok',
  25. 'code' => 200,
  26. 'data' => ['k' => 'v'],
  27. ]);
  28. });
  29. $staticErrorMsg = new class {
  30. use StaticErrorMsg;
  31. };
  32. test('静态错误消息读写', function () use ($staticErrorMsg) {
  33. expect($staticErrorMsg::getStaticMessage())
  34. ->toBe('success')
  35. ->and($staticErrorMsg::setStaticError(false, '静态错误'))
  36. ->toBeFalse()
  37. ->and($staticErrorMsg::getStaticMessage())
  38. ->toBe('静态错误');
  39. $staticErrorMsg::$message = 'success';
  40. });