Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing api for SQL based projections #19

Open
yreynhout opened this issue Mar 10, 2016 · 3 comments
Open

Testing api for SQL based projections #19

yreynhout opened this issue Mar 10, 2016 · 3 comments
Milestone

Comments

@yreynhout
Copy link
Collaborator

Brainstorming

    public class SqlProjectionScenarioBuilder
    {

    }

    public interface ISqlProjectionScenarioInitialState
    {
        ISqlProjectionScenarioGivenState Given(IEnumerable<object> messages);
        ISqlProjectionScenarioGivenState Given(object[] messages);
        ISqlProjectionScenarioGivenState Given(object message);
    }

    public interface ISqlProjectionScenarioGivenState
    {
        ISqlProjectionScenarioGivenState Given(IEnumerable<object> messages);
        ISqlProjectionScenarioGivenState Given(object[] messages);
        ISqlProjectionScenarioGivenState Given(object message);

        ISqlProjectionScenarioExpectState ExpectEmptyResultSet(SqlQueryCommand command);
        ISqlProjectionScenarioExpectState ExpectNonEmptyResultSet(SqlQueryCommand command);
        ISqlProjectionScenarioExpectState ExpectRowCount(SqlQueryCommand command, int count);
        ISqlProjectionScenarioExpectState ExpectScalarValue(SqlQueryCommand command, object value);
    }

    public interface ISqlProjectionScenarioExpectState
    {
        ISqlProjectionScenarioExpectState ExpectEmptyResultSet(SqlQueryCommand command);
        ISqlProjectionScenarioExpectState ExpectNonEmptyResultSet(SqlQueryCommand command);
        ISqlProjectionScenarioExpectState ExpectRowCount(SqlQueryCommand command, int count);
        ISqlProjectionScenarioExpectState ExpectScalarValue(SqlQueryCommand command, object value);

        SqlProjectionScenario Build();
    }

    public interface IExpectation
    {
        VerificationResult Verify(ConnectedTransactionalSqlCommandExecutor executor);
        Task<VerificationResult> VerifyAsync(ConnectedTransactionalSqlCommandExecutor executor);
    }

    public class VerificationResult
    {
    }

    public class SqlProjectionScenario
    {
    }
@yreynhout yreynhout added this to the 1.0 milestone Apr 19, 2016
@jeremiahredekop
Copy link

Hi, have there been any developments for this topic?

@yreynhout
Copy link
Collaborator Author

Hi Jeremiah,

I'm afraid not. I've been slacking and also never been satisfied with whatever I've come up with so far for this. There's also other parts of the SQL related bits I'd like to ditch that have been holding me back on making any progress on this. On top of all that my focus has been moving away from SQL Server as the store to project into. Good thing you poked me, I'll give it another go because I truly believe this would be a nice supplement to what I'm offering now for the Connected version of Projac.

@jeremiahredekop
Copy link

Thanks for the quick response, Yves!

This looks like a good starting point for what I need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants