Exemplo n.º 1
0
        public void SetUp()
        {
            _gameId = Guid.NewGuid();
            var gameView = new GameView()
            {
                Name = "Test Game",
                Id   = _gameId,
            };

            _exchangeName = "test-exchange";
            _connection   = Mock.Of <IConnection>();
            var model = Mock.Of <IModel>();
            var gameSqlQueryService = Mock.Of <IQuery <GameView> >();

            _gameViewQueryMock = Mock.Get(gameSqlQueryService);
            _gameViewQueryMock.Setup(s => s.Get(It.IsAny <Guid>(), 1, 1)).Returns(() => Task.FromResult(gameView));

            _connectionMock = Mock.Get(_connection);
            _modelMock      = Mock.Get(model);

            _connectionMock.Setup(c => c.CreateModel()).Returns(model);
            _modelMock.Setup(m => m.CreateBasicProperties()).Returns(Mock.Of <IBasicProperties>());
            var logger = Mock.Of <ILogger <RabbitScorePublisherService> >();

            _publisher = new RabbitScorePublisherService(_connection, _exchangeName, gameSqlQueryService, logger);
        }
Exemplo n.º 2
0
        public void Publish_GivenScoreViewWhereGameDoesntExist_ThrowsInvalidOperationException()
        {
            var gameSqlQueryService     = Mock.Of <IQuery <GameView> >();
            var gameSqlQueryServiceMock = Mock.Get(gameSqlQueryService);

            gameSqlQueryServiceMock.Setup(s => s.Get(It.IsAny <Guid>(), 1, 1)).Returns(() => Task.FromResult((GameView)null));
            var logger    = Mock.Of <ILogger <RabbitScorePublisherService> >();
            var publisher = new RabbitScorePublisherService(_connection, "exchange", gameSqlQueryService, logger);
            var gameId    = Guid.NewGuid();

            Assert.That(async() => await publisher.Publish(new ScoreView()
            {
                Id       = Guid.NewGuid(),
                GameId   = gameId,
                Name     = "Test User",
                Score    = 0,
                PostedAt = DateTime.UtcNow,
            }), Throws.InvalidOperationException.With.Message.EqualTo($"Game with id {gameId} not found"));
        }