Search in sources :

Example 1 with User

use of io.wring.model.User in project wring by yegor256.

the class DyEventsITCase method deletesEvent.

/**
 * DyEvents can delete events.
 * @throws Exception If some problem inside
 */
@Test
public void deletesEvent() throws Exception {
    final User user = new DyUser(new Dynamo(), "boris");
    final Events events = user.events();
    events.post("subj", "body");
    final Event event = events.iterate().iterator().next();
    event.delete();
    MatcherAssert.assertThat(Iterables.size(events.iterate()), Matchers.equalTo(0));
}
Also used : User(io.wring.model.User) Events(io.wring.model.Events) Event(io.wring.model.Event) Test(org.junit.Test)

Example 2 with User

use of io.wring.model.User in project wring by yegor256.

the class DyPipesITCase method addsManyPipes.

/**
 * DyPipes can add many pipes.
 * @throws Exception If some problem inside
 */
@Test
public void addsManyPipes() throws Exception {
    final User user = new DyUser(new Dynamo(), "sarah");
    final Pipes pipes = user.pipes();
    for (int idx = 0; idx < Tv.FIVE; ++idx) {
        pipes.add("{\"oops\":true}");
    }
    MatcherAssert.assertThat(Iterables.size(pipes.iterate()), Matchers.equalTo(Tv.FIVE));
}
Also used : User(io.wring.model.User) Pipes(io.wring.model.Pipes) Test(org.junit.Test)

Example 3 with User

use of io.wring.model.User in project wring by yegor256.

the class TkEventDelete method act.

@Override
public Response act(final Request req) throws IOException {
    final User user = this.base.user(new RqUser(req).urn());
    final Href href = new RqHref.Base(req).href();
    final Event event = user.events().event(href.param("title").iterator().next());
    final String hash = new XePrint(event.asXembly()).text("{/event/md5/text()}");
    if (!hash.equals(href.param("hash").iterator().next())) {
        throw new RsForward(new RsFlash("Reload the page, the event has changed", Level.WARNING));
    }
    final String msg = new XePrint(event.asXembly()).text("Event \"{/event/title/text()}\" deleted");
    event.delete();
    return new RsForward(new RsFlash(msg));
}
Also used : RqHref(org.takes.rq.RqHref) User(io.wring.model.User) RsFlash(org.takes.facets.flash.RsFlash) RqHref(org.takes.rq.RqHref) Href(org.takes.misc.Href) Event(io.wring.model.Event) XePrint(io.wring.model.XePrint) RsForward(org.takes.facets.forward.RsForward)

Example 4 with User

use of io.wring.model.User in project wring by yegor256.

the class TkEventDown method act.

@Override
public Response act(final Request req) throws IOException {
    final User user = this.base.user(new RqUser(req).urn());
    final Event event = user.events().event(new RqHref.Base(req).href().param("title").iterator().next());
    event.vote(-Tv.TEN);
    return new RsForward(new RsFlash("Event down-voted"));
}
Also used : RqHref(org.takes.rq.RqHref) User(io.wring.model.User) RsFlash(org.takes.facets.flash.RsFlash) Event(io.wring.model.Event) RsForward(org.takes.facets.forward.RsForward)

Example 5 with User

use of io.wring.model.User in project wring by yegor256.

the class DyEventITCase method upvotes.

/**
 * DyEvent can up-vote.
 * @throws Exception If some problem inside
 */
@Test
public void upvotes() throws Exception {
    final User user = new DyUser(new Dynamo(), "nick");
    final Events events = user.events();
    events.post("hey you", "some text [test](http://a.com/$t)!");
    final Event event = events.iterate().iterator().next();
    event.vote(Tv.FIFTEEN);
    MatcherAssert.assertThat(new Xembler(events.iterate().iterator().next().asXembly()).xml(), XhtmlMatchers.hasXPaths("/event[title='hey you']", "/event[rank=16]"));
}
Also used : User(io.wring.model.User) Events(io.wring.model.Events) Event(io.wring.model.Event) Xembler(org.xembly.Xembler) Test(org.junit.Test)

Aggregations

User (io.wring.model.User)10 Test (org.junit.Test)8 Events (io.wring.model.Events)5 Event (io.wring.model.Event)4 Xembler (org.xembly.Xembler)4 Pipes (io.wring.model.Pipes)2 RsFlash (org.takes.facets.flash.RsFlash)2 RsForward (org.takes.facets.forward.RsForward)2 RqHref (org.takes.rq.RqHref)2 Pipe (io.wring.model.Pipe)1 XePrint (io.wring.model.XePrint)1 Href (org.takes.misc.Href)1