public void Given_Callback_For_Stream_Jsonp_Result_Is_Returned()
        {
            var filter = new StreamFilter
            {
                Callback = "callback"
            };
            var fakeStorage = new Mock<IStreamStorage>();
            var streamApi = new StreamApiController(fakeStorage.Object);

            var result = streamApi.Stream(filter);

            Assert.IsInstanceOf<JsonpResult>(result);
        }
        public void Given_Date_And_Limit_Api_Returns_Limited_Number_Of_Items()
        {
            var filter = new StreamFilter
            {
                From = DateTime.UtcNow.AddDays(-1),
                Limit = 10
            };
            var fakeStorage = new Mock<IStreamStorage>();
            var streamApi = new StreamApiController(fakeStorage.Object);

            streamApi.Stream(filter);

            fakeStorage.Verify(s => s.GetLatest(filter.Type, filter.From, filter.To, filter.Limit), Times.Once());
        }
        public void With_No_Arguments_Api_Returns_Items()
        {
            var filter = new StreamFilter();
            var fakeStorage = new Mock<IStreamStorage>();
            var streamApi = new StreamApiController(fakeStorage.Object);

            streamApi.Stream(filter);

            fakeStorage.Verify(s => s.GetLatest(filter.Type, filter.From, filter.To, filter.Limit), Times.Once());
        }
 public void StreamApiController_Can_Connect_To_Database()
 {
     try
     {
         var streamApi = new StreamApiController(ConnectionString, DatabaseName);
         streamApi.Stream(new StreamFilter());
     }
     finally
     {
         MongoServer.Create(ConnectionString).DropDatabase(DatabaseName);
     }
 }
        public void Given_Valid_Id_Api_Returns_Item()
        {
            var filter = new GetFilter { Id = new Item().Id };
            var fakeStorage = new Mock<IStreamStorage>();
            var streamApi = new StreamApiController(fakeStorage.Object);

            streamApi.Get(filter);

            fakeStorage.Verify(s => s.Get(filter.Id), Times.Once());
        }
        public void Given_No_Callback_For_Get_Json_Result_Is_Returned()
        {
            var filter = new GetFilter();
            var fakeStorage = new Mock<IStreamStorage>();
            var streamApi = new StreamApiController(fakeStorage.Object);

            var result = streamApi.Get(filter);

            Assert.IsInstanceOf<JsonResult>(result);
        }