|
|
- define(["sugar-web/env"], function (env) {
-
- 'use strict';
-
- describe("getObjectId", function () {
-
- it("should return objectId from the sugar's environment", function () {
- var environment = {
- objectId: "objectId"
- };
- spyOn(env, "getEnvironment").andCallFake(function (callback) {
- setTimeout(function () {
- callback(null, environment);
- }, 0);
- });
- var expected_objectId;
-
- runs(function () {
- env.getObjectId(function (objectId) {
- expected_objectId = objectId;
- });
- });
-
- waitsFor(function () {
- return expected_objectId !== undefined;
- }, "should return objectId");
- });
- });
-
- describe("standalone mode", function () {
-
- it("should return true if in standalone mode", function () {
- var noWebActivityURLScheme = "http:";
- spyOn(env, 'getURLScheme').andReturn(noWebActivityURLScheme);
-
- var isStandaloneMode = env.isStandalone();
- expect(isStandaloneMode).toBe(true);
- });
-
- it("should return false if not in standalone mode", function () {
- var webActivityURLScheme = "activity:";
- spyOn(env, 'getURLScheme').andReturn(webActivityURLScheme);
-
- var isStandaloneMode = env.isStandalone();
- expect(isStandaloneMode).toBe(false);
- });
- });
-
- describe("getEnvironment", function () {
- var sugarOrig;
-
- beforeEach(function () {
- sugarOrig = JSON.parse(JSON.stringify(window.top.sugar));
- });
-
- afterEach(function () {
- window.top.sugar = sugarOrig;
- });
-
- describe("in sugar mode", function () {
-
- beforeEach(function () {
- spyOn(env, 'isStandalone').andReturn(false);
- });
-
- describe("when env was already set", function () {
-
- it("should run callback with null error and env", function () {
- var environment = {};
- window.top.sugar = {
- environment: environment
- };
- var callback = jasmine.createSpy();
-
- runs(function () {
- env.getEnvironment(callback);
- });
-
- waitsFor(function () {
- return callback.wasCalled;
- }, "callback should be executed");
-
- runs(function () {
- expect(callback).toHaveBeenCalledWith(
- null, environment);
- });
- });
- });
-
- describe("when env was not set, yet", function () {
-
- beforeEach(function () {
- window.top.sugar = undefined;
- });
-
- it("should set onEnvironmentSet handler", function () {
- var sugar;
- env.getEnvironment(function () {});
- sugar = window.top.sugar;
- expect(sugar.onEnvironmentSet).not.toBeUndefined();
- });
-
- it("should run callback on EnvironmentSet event", function () {
- var callback = jasmine.createSpy();
- var expectedEnv = "env";
-
- env.getEnvironment(callback);
- window.top.sugar.environment = expectedEnv;
- window.top.sugar.onEnvironmentSet();
-
- expect(callback).toHaveBeenCalledWith(null, expectedEnv);
- });
- });
- });
-
- it("should return {} in standalone mode", function () {
- window.top.sugar = undefined;
- spyOn(env, 'isStandalone').andReturn(true);
- var actualEnv;
-
- runs(function () {
- env.getEnvironment(function (error, environment) {
- actualEnv = environment;
- });
- });
-
- waitsFor(function () {
- return actualEnv !== undefined;
- }, "environment not to be undefined");
-
- runs(function () {
- expect(actualEnv).toEqual({});
- });
-
- });
- });
- });
|