Beispiel #1
0
            .then(function(agent) {
                self.agent = agent;

                return Ticket.create(
                    "Handler testing ticket",
                    "foo",
                    self.user
                );
            })
            .spread(function(manager, teacher) {
                self.manager = manager;
                self.teacher = teacher;

                return Ticket.create(
                    "Ticket with hidden comments",
                    "foo",
                    teacher
                );
            })
 .then(() => {
     return Ticket.create(
         "Capture Joker",
         "That dude is evil!",
         user
     )
     .tap(t => ticket = t)
     .then(function(ticket) {
         return ticket.addHandler(handler, handler);
     });
 })
 .each(function(number) {
     return Ticket.create(
         "A ticket " + number,
         "foo",
         self.manager
     ).then(function(ticket) {
         return ticket.set({
             updatedAt: new Date(Date.now() + number*1000),
             createdAt: new Date(Date.now() + number*1000)
         }).save();
     });
 })
            .spread(function(manager, user, otherUser) {
                self.manager = manager;
                self.user = user;
                self.otherUser = otherUser;

                return Promise.join(
                    Ticket.create(
                        "The Ticket",
                        "Will get notifications",
                        self.user
                    ),
                    Ticket.create(
                        "An other ticket",
                        "This is other ticket without any notifications for the user",
                        self.otherUser
                    ),
                    Ticket.create(
                        "Yet another ticket",
                        "This is an yet another ticket",
                        self.otherUser
                    )
                );
            })
Beispiel #6
0
            .spread(function(manager, teacher, otherTeacher) {
                self.manager = manager;
                self.teacher = teacher;
                self.otherTeacher = otherTeacher;

                return Promise.join(
                    Ticket.create(
                        "The Ticket",
                        "Will get notifications (first comment)",
                        self.teacher
                    ),
                    helpers.loginAsUser(helpers.user.teacher)
                );
            })
    it("sends the initial comment for handlers that are added later", function() {
        var self = this;
        return Ticket.create(
            "Ticket created for a teacher",
            "by manager",
            self.manager
        ).then(function(ticket) {
            self.clock.tick(1000 * 60);
            return ticket.addHandler(self.teacher, self.manager);
        })
        .then(function() {
            self.clock.tick(1000 * 60 * 6);
            return request(app).post("/api/emails/send/secret").send({ dummy: 1 }).promise();
        })
        .then(function(res) {
            assert.equal(200, res.status, res.text);

            assert(
                self.sendMailSpy.called,
                "no email was sent"
            );

            var mailOb = _.find(self.sendMailSpy.args, function(args) {
                return args[0].subject === "Tukipyyntö \"Ticket created for a teacher\" (4) on päivittynyt";
            })[0];

            assert.equal(`
Tukipyyntösi on päivittynyt seuraavin kommentein

Pointy-haired Boss, 1. loka 12:36
by manager

----------------------------------------------
Pääset tarkastelemaan tukipyyntöä kokonaisuudessaan osoitteessa https://support.opinsys.fi/tickets/4
Tämä viesti on lähetetty Opinsysin tukipalvelusta
            `.trim(), mailOb.text.trim());

        });
    });
 .then(function(user) {
     self.user = user;
     return Ticket.create("A title", "Desc", user);
 })