it('sends one more letter when new subscription appears', function*() { let nl = yield NewsletterRelease.findById(oid('newsletter-release-js')); yield nl.persist({ sendScheduledAt: new Date() }); yield* new SenderService().send(); (yield Letter.find()).length.should.eql(1); // no more to send, same count yield* new SenderService().send(); (yield Letter.find()).length.should.eql(1); yield Subscription.create({ email: '*****@*****.**', accessKey: '' + Math.random(), newsletters: [oid('newsletter-js')] }); // not rescheduled yet, same count yield* new SenderService().send(); (yield Letter.find()).length.should.eql(1); yield nl.persist({ sendScheduledAt: new Date() }); // now send more yield* new SenderService().send(); (yield Letter.find()).length.should.eql(2); });
it('sends for course group participants', function*() { let nl = yield NewsletterRelease.findById(oid('newsletter-release-coursegroup-js')); yield nl.persist({ sendScheduledAt: new Date() }); yield* new SenderService().send(); (yield Letter.find()).length.should.eql(1); });
it('sends a newsletter', function*() { let nl = yield NewsletterRelease.findById(oid('newsletter-release-nodejs')); yield nl.persist({ sendScheduledAt: new Date() }); yield* new SenderService().send(); (yield Letter.find()).length.should.eql(3); });
const mongoose = require('mongoose'); var oid = require('oid'); var User = require('users').User; exports.User = [{ "_id": oid('user-tester'), email: "*****@*****.**", displayName: "Tester", profileName: 'tester', password: "******", verifiedEmail: true }, { "_id": oid('user-iliakan'), email: "*****@*****.**", displayName: "Ilya Kantor", profileName: 'iliakan', password: "******", roles: ['admin'], verifiedEmail: true }];
const mongoose = require('mongoose'); var Course = require('courses').Course; var CourseGroup = require('courses').CourseGroup; var CourseInvite = require('courses').CourseInvite; var oid = require('oid'); exports.Course = [ { "_id": oid('course-js'), slug: "js", videoKeyTag: "js", title: "Курс JavaScript/DOM/интерфейсы", titleShort: "JavaScript/DOM/интерфейсы", shortDescription: ` <p>"Правильный" курс по профессиональному JavaScript, цель которого – научить думать на JavaScript, писать просто, быстро и красиво.</p> <p>Стоимость обучения <span class="auto-currency" data-currency="RUB">21000 руб</span>, время обучения: 2 месяца.</p>`, isListed: true, weight: 1 }, { "_id": oid('course-nodejs'), slug: "nodejs", videoKeyTag: "js", title: "Курс по Node.JS", titleShort: "Node.JS", shortDescription: ` <p>Профессиональная разработка на платформе Node.JS (серверный JavaScript), с использованием современных фреймворков и технологий.</p> <p>Стоимость обучения 13500 руб, время обучения: 1 месяц.</p>`, isListed: true, weight: 2