I have a problem like this. I am new to solidity development. I have created a contract like this.

    pragma solidity ^0.4.17;
    
    contract Lottery {
        address public manager;
         address[] public players;
        
        function Lottery() public {
            manager = msg.sender;
        }
        
        function enter() public payable { 
            
            require(msg.value > 0.1 ether);
            players.push(msg.sender);
        }
        
        
        function random() public  view returns (uint) {
            
         return   uint(keccak256(block.difficulty,now,players));//hashing
        }
       
      function pickWinner() public restricted{
          uint index = random() % players.length;
          players[index].transfer(this.balance);
          players = new address[](0);
      }
       
      modifier restricted(){
           
          require (msg.sender == manager);
          _;
      }
       
      function getPlayers() public view returns (address[]) {
          return players;
           
      }
       
    }



This is my Test js file is like this.

    const assert = require('assert');
    const ganache = require('ganache-cli');
    const Web3 = require('web3');//we are importing a constructor function so capittalize
    //Instance 
    
    const web3 = new Web3(ganache.provider());
    const { interface, bytecode } = require('../compile');
    
    
    
    let accounts;
    let lottery;
    beforeEach(async ()=>{
    	accounts = await web3.eth.getAccounts();
    	lottery =await new web3.eth.Contract(JSON.parse(interface))
    		.deploy({ data: bytecode })
    		.send({ from: accounts[0], gas: '1000000'});
    });
    
    
    describe('Inbox', ()=>{
    	it('deploys a contract',()=>{
    		assert.ok(lottery.options.address);//check is there a value or not
    	});
    
    	it('allows account to enter', async()=>{
    		await lottery.methods.enter().send({
    			from: accounts[0],
    			value: web3.utils.toWei('0.02', 'ether')
    		});
    
    		const players = await lottery.methods.getPlayers().call({
    			from: accounts[0]
    		});
    
    		assert.equal(accounts[0],players[0]);
    		assert.equal(1, players.length);
    
    	})
    });


 When I hit npm run test it gives me an error like this.

       √ deploys a contract
        1) allows account to enter
    
    
      1 passing (318ms)
      1 failing
    
      1) Inbox
           allows account to enter:
         i: VM Exception while processing transaction: revert
          at Function.i.fromResults (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\lib\utils\runtimeerror.js:91:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\lib\blockchain_double.js:539:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\internal\once.js:12:1
          at p (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\internal\eachOfLimit.js:61:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\internal\eachOfLimit.js:71:1
          at a.default (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\eachLimit.js:43:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\internal\doLimit.js:9:1
          at v.r.emit (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async-eventemitter\lib\AsyncEventEmitter.js:42:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\runBlock.js:52:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\runBlock.js:174:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\cache.js:110:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:473:1
          at d (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:1006:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:1016:1
          at Da (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:3196:1)
          at Object.<anonymous> (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:1046:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\cache.js:106:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:969:1
          at n (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:5225:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\cache.js:103:1
          at n (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:5223:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\cache.js:103:1
          at n (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\async\dist\async.js:5223:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\ethereumjs-vm\dist\cache.js:98:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\merkle-patricia-tree\util.js:51:1
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\merkle-patricia-tree\node_modules\async\lib\async.js:52:1
          at f (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\merkle-patricia-tree\node_modules\async\lib\async.js:246:1)
          at C:\Users\tharindusa\Desktop\slv\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\merkle-patricia-tree\node_modules\async\lib\async.js:44:1
          at Immediate._onImmediate (node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\node_modules\levelup\lib\levelup.js:286:20)
    
    
    
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] test: `mocha`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] test script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\tharindusa\AppData\Roaming\npm-cache\_logs\2018-09-04T05_52_38_807Z-debug.log


I search for a solution but I was unable to find a suitable solution. So can someone help me to solve this problem? Thankyou!!