Skip to content
This repository has been archived by the owner on May 9, 2019. It is now read-only.

Commit

Permalink
Add test shouldEmitEventWhenSubmittingDeliveryDetails
Browse files Browse the repository at this point in the history
  • Loading branch information
yg-apaza committed Jun 2, 2017
1 parent 69181bd commit 6dc2b4b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@ default Descriptor descriptor() {
return named("transaction").withCalls(
pathCall("/api/item/:id/transaction", this::submitDeliveryDetails)
).withPathParamSerializer(UUID.class, PathParamSerializers.required("UUID", UUID::fromString, UUID::toString))
.withHeaderFilter(SecurityHeaderFilter.INSTANCE)
.withAutoAcl(true);
.withHeaderFilter(SecurityHeaderFilter.INSTANCE);

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@

import com.example.auction.transaction.impl.TransactionCommand.*;
import com.example.auction.transaction.impl.TransactionEvent.*;

import java.util.Optional;
import java.util.UUID;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;

Expand All @@ -34,9 +34,13 @@ public static void shutdownActorSystem() {
private final UUID itemId = UUID.randomUUID();
private final UUID creator = UUID.randomUUID();
private final UUID winner = UUID.randomUUID();
private final DeliveryData deliveryData = new DeliveryData("Addr1", "Addr2", "City", "State", 27, "Country");

private final Transaction transaction = new Transaction(itemId, creator, winner, 2000);

private final StartTransaction startTransaction = new StartTransaction(transaction);
private final SubmitDeliveryDetails submitDeliveryDetails = new SubmitDeliveryDetails(creator, deliveryData);

@Before
public void createTestDriver() {
driver = new PersistentEntityTestDriver<>(system, new TransactionEntity(), itemId.toString());
Expand All @@ -51,11 +55,20 @@ public void noIssues() {
}

@Test
public void testStartTransaction() {
PersistentEntityTestDriver.Outcome<TransactionEvent, TransactionState> outcome = driver.run(new StartTransaction(transaction));
public void shouldEmitEvenWhenCreatingTransaction() {
PersistentEntityTestDriver.Outcome<TransactionEvent, TransactionState> outcome = driver.run(startTransaction);

assertThat(outcome.state().getStatus(), equalTo(TransactionStatus.NEGOTIATING_DELIVERY));
assertThat(outcome.state().getTransaction(), equalTo(Optional.of(transaction)));
assertThat(outcome.events(), hasItem(new TransactionStarted(itemId, transaction)));
}

@Test
public void shouldEmitEventWhenSubmittingDeliveryDetails(){
driver.run(startTransaction);
PersistentEntityTestDriver.Outcome<TransactionEvent, TransactionState> outcome = driver.run(submitDeliveryDetails);
assertThat(outcome.state().getStatus(), equalTo(TransactionStatus.NEGOTIATING_DELIVERY));
assertThat(outcome.events(), hasItem(new DeliveryDetailsSubmitted(itemId, deliveryData)));
}
}

0 comments on commit 6dc2b4b

Please sign in to comment.