API for app usage tracking

This commit is contained in:
Leena
2016-02-04 16:19:21 +05:30
parent 2d51e30d98
commit 45bcc78962
8 changed files with 100 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
require 'rails_helper'
RSpec.describe AppUsagesController, type: :controller do
describe "POST #create" do
describe "Authorized" do
let(:device){create(:device)}
before(:each) do
request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Token.encode_credentials(device.access_token)
end
it "Valid params" do
post :create, app_usage: attributes_for(:app_usage), format: :json
expect(response).to have_http_status(:success)
end
it "InValid Params" do
post :create, app_usage: attributes_for(:invalid_app_usage), format: :json
expect(response).to have_http_status(:unprocessable_entity)
end
end
describe "POST #create" do
it "Unauthorized" do
post :create, app_usage: attributes_for(:app_usage), format: :json
expect(response).to have_http_status(:unauthorized)
end
end
end
end

View File

@@ -0,0 +1,13 @@
FactoryGirl.define do
factory :app_usage do
package_name "com.facebook.katana"
usage_duration_in_seconds 7000
used_on Date.today - 1.day
end
factory :invalid_app_usage, class: AppUsage do
package_name ""
usage_duration_in_seconds 7000
used_on Date.today - 1.day
end
end

View File

@@ -0,0 +1,9 @@
require 'rails_helper'
RSpec.describe AppUsage, type: :model do
let!(:app_usage) { create(:app_usage) }
it { should validate_presence_of :package_name }
it { should validate_presence_of :usage_duration_in_seconds }
it { should validate_presence_of :used_on }
end