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));
}
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));
}
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));
}
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"));
}
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]"));
}
Aggregations