JSFiddle - React, Tailwind, and code Playground

by themyth92

HTML

<script src="http://jasmine.github.io/1.3/lib/jasmine.js"></script>
<script src="http://jasmine.github.io/1.3/lib/jasmine-html.js"></script>
<link rel="stylesheet" href="http://jasmine.github.io/1.3/lib/jasmine.css">
<script src="https://code.angularjs.org/1.2.9/angular.js"></script>
<script src="https://code.angularjs.org/1.2.9/angular-mocks.js"></script>

JavaScript

//--- CODE --------------------------
(function (angular) {
    // Create module
    var myApp = angular.module('myApp', []);

    myApp.service('myService', function ($q, $http) {

        this.joinItem = function (item, joinOption) {
            var joinData = {
                    match: {
                        minid: joinOption['id']
                    }
                };
            joinUrl = 'http://testurl.com/company/items/abc456/join' + joinData.match.minid;

            return $http.post(joinUrl)
                .success(handleJoinSuccess)
                .error(handleJoinError);

            function handleJoinSuccess() {
                return {
                    status: 204
                };
            };

            function handleJoinError(joinedResponse, status) {
                var joinedItems = joinedResponse['joined_items'];
   
                if (status === 403) {
                    return {
                        joined_items: joinedItems,
                        status: status
                    };
                } else {
                    return {
                        status: status
                    };
                }
            }
        };
    });
})(angular);



// ---SPECS-------------------------

describe("myService", function () {
    var $rootScope,
    $scope,
    task,
    controller,
    $httpBackend;

    beforeEach(function () {

        module('myApp');
        inject(function ($injector) {
            $rootScope = $injector.get('$rootScope');
            $scope = $rootScope.$new();
            myService = $injector.get('myService');
            $httpBackend = $injector.get('$httpBackend');
        });
    });
    describe('#joinItem 403', function () {

        var item, joindOption, joinedResponse, joinedItemResults;
        beforeEach(inject(function (_$httpBackend_, $q, _$rootScope_) {
            item = {
                id: 'abc456'
            };
            joinOption = {
                id:...