prioritizer
Version:
Method to prioritize a list with persistence
47 lines (38 loc) • 1.61 kB
JavaScript
const { expect } = require("chai")
const {TestRepository} = require('persistent-programming')
const PriorityTests = require('./priorityTests')
const PrioritizerTelegramBot = require('../domain/PrioritizerTelegramBot')
const TelegramBotTestUser = require('./TelegramBotTestUser')
const FakeTelegramServer = require('./FakeTelegramServer')
const packageJson = require('../package.json')
const TimeController = require('../domain/TimeController')
describe('Telegram bot tests', function(){
let telegramServer, bot, timeController
beforeEach(async function(){
timeController = new TimeController()
telegramServer = FakeTelegramServer()
await telegramServer.start()
bot = await PrioritizerTelegramBot.createNew(TestRepository(), telegramServer.getToken(), timeController)
bot.setTelegramServerURL(telegramServer.getUrl())
await bot.start()
// Inyectar timeController en el contexto del test
this.timeController = timeController
this.getUser = async function(greaterFunction, selectFunction){
return TelegramBotTestUser({
client: telegramServer.getClient(),
greaterFunction,
selectFunction
})
}
})
afterEach(async function(){
await bot.stop()
await telegramServer.stop()
})
PriorityTests()
it('getting the version of the bot', async function(){
let user = await this.getUser('1')
let version = await user.getBotVersion()
expect(version).to.equal(packageJson.version)
})
})