import './index';
import crudModel from 'core/mocks/crud-model';

describe('Worker', () => {
    describe('Component vnWorkerDmsIndex', () => {
        let $scope;
        let $httpBackend;
        let controller;

        beforeEach(ngModule('worker'));

        beforeEach(inject(($componentController, $rootScope, _$httpBackend_) => {
            $httpBackend = _$httpBackend_;
            $scope = $rootScope.$new();
            controller = $componentController('vnWorkerDmsIndex', {$element: null, $scope});
            controller.$.model = crudModel;
        }));

        describe('deleteDms()', () => {
            it('should make an HTTP Post query', () => {
                jest.spyOn(controller.vnApp, 'showSuccess');
                jest.spyOn(controller.$.model, 'remove');

                const workerDmsId = 4;
                const dmsIndex = 0;
                controller.workerDms = [{id: 1, dmsFk: 4}];

                $httpBackend.expectPOST(`WorkerDms/${workerDmsId}/removeFile`).respond();
                controller.deleteDms(dmsIndex);
                $httpBackend.flush();

                expect(controller.$.model.remove).toHaveBeenCalledWith(dmsIndex);
                expect(controller.vnApp.showSuccess).toHaveBeenCalled();
            });
        });
    });
});