public void Insert_CallsInterractor(string hash, CollectionDirection direction)
        {
            var mapperMock = new Mock <IMapper>();
            var deckCardsInterractorMock = new Mock <IDeckCardsInterractor>();
            var deckRepositoryMock       = new Mock <IDeckRepository>();

            deckRepositoryMock.Setup(x => x.GetDeck(hash)).Returns(new Deck {
                Hash = hash
            });

            var controller = new DeckOperationsController(deckRepositoryMock.Object, mapperMock.Object, deckCardsInterractorMock.Object);
            var request    = new DeckCardInsertRequest {
                Hash      = hash,
                Direction = direction,
                Card      = It.IsAny <Card>()
            };
            var result = controller.Insert(request);

            Assert.IsInstanceOf <OkResult>(result);
            deckCardsInterractorMock.Verify(x => x.Insert(hash, direction, It.IsAny <Card>()));
        }
 public ActionResult Insert([FromBody]DeckCardInsertRequest request)
 {
     _deckCardsInterractor.Insert(request.Hash, request.Direction, request.Card);
     return Ok();
 }