public void ShouldBeThrowArgumentNullException() { // constructor: settings is null this.Invoking((a) => _ = new RSqlPageableModelBinder <Customer>(null, Helper.JsonOptions(), Helper.MockLogger <Customer>().Object)) .Should() .Throw <ArgumentNullException>(); // constructor: option is null this.Invoking((a) => _ = new RSqlPageableModelBinder <Customer>(Helper.Settings(), null, Helper.MockLogger <Customer>().Object)) .Should() .Throw <ArgumentNullException>(); // constructor: logger is null this.Invoking((a) => _ = new RSqlPageableModelBinder <Customer>(Helper.Settings(), Helper.JsonOptions(), null)) .Should() .Throw <ArgumentNullException>(); // build this.Invoking((a) => { var binder = new RSqlPageableModelBinder <Customer>(Helper.Settings(), Helper.JsonOptions(), Helper.MockLogger <Customer>().Object); binder.Build(null); }) .Should() .Throw <ArgumentNullException>(); }
public void ShouldBeValidPageSize() { const int pageSize = 10; var queryCollection = Helper.QueryCollection("pageSize", Convert.ToString(pageSize)); var pageableModelBinder = new RSqlPageableModelBinder <Customer>(Helper.Settings(), Helper.JsonOptions(), Helper.MockLogger <Customer>().Object); var expected = pageableModelBinder.Build(queryCollection); expected.PageSize() .Should().Be(pageSize); }
public void ShouldBeIsValid() { var queryCollection = Helper.QueryCollection ( "pageSize", "1", "pageNumber", "2", "sort", "name;desc,birthDate" ); var pageableModelBinder = new RSqlPageableModelBinder <Customer>(Helper.Settings(), Helper.JsonOptions(), Helper.MockLogger <Customer>().Object); var expected = pageableModelBinder.Build(queryCollection); // exp expected .PageNumber().Should().Be(2); expected .PageSize().Should().Be(1); // expected on sort order by ( first ) expected.Sort() .Should().NotBeNull(); // first sort expected.Sort().IsDescending .Should().BeTrue(); ((MemberExpression)((UnaryExpression)expected.Sort().Value.Body).Operand).Member.Name .Should().Be("Name"); // expected on sort order by ( second ) expected.Sort().Next.Should() .NotBeNull(); // second sort expected.Sort().Next.IsDescending .Should().BeFalse(); ((MemberExpression)((UnaryExpression)expected.Sort().Next.Value.Body).Operand).Member.Name .Should().Be("BirthDate"); }