You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test-stats.rb 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # This script pulls offensive/defensive ratings stats from stats.nba.com and
  2. # our app (production by default, or qa if invoked with
  3. # `ruby test-stats.rb qa`) and compares them, noting any differences.
  4. require 'json'
  5. require 'net/http'
  6. env = ARGV.first ? "-#{ARGV.first}" : ""
  7. stats_url = URI('https://stats.nba.com/partnerutilities/leagueteamstats?Conference=&DateFrom=&DateTo=&Division=&GameScope=&GameSegment=&LastNGames=0&LeagueID=00&Location=&MeasureType=Advanced&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=PerGame&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2019-20&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&TwoWay=0&VsConference=&VsDivision')
  8. game_url = URI("https://picks#{env}.nba.com/api/static-v1/nbapicksix/game.json")
  9. stats = JSON.parse(Net::HTTP.get_response(stats_url).body)
  10. game = JSON.parse(Net::HTTP.get_response(game_url).body)
  11. all_match = true
  12. stats["resultSets"][0]["rowSet"].each do |stats_record|
  13. left = {
  14. offrtg: stats_record[8],
  15. defrtg: stats_record[10],
  16. offrtg_rank: stats_record[32],
  17. defrtg_rank: stats_record[33]
  18. }
  19. game_record = game['teams'].find { |team| "#{team['place_name']} #{team['team_name']}" == stats_record[1] }
  20. right = {
  21. offrtg: game_record['offensive_rating']['value'].to_f,
  22. defrtg: game_record['defensive_rating']['value'].to_f,
  23. offrtg_rank: game_record['offensive_rating']['rank'],
  24. defrtg_rank: game_record['defensive_rating']['rank']
  25. }
  26. unless left == right
  27. all_match = false
  28. puts game_record["team_name"]
  29. puts " NBA\n " + left.inspect
  30. puts " Us\n " + right.inspect
  31. end
  32. end
  33. puts "All good" if all_match