Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 21 01:11

    jeremydmiller on v6

    Separated Counts back out from … switched over SpecRunningContex… *just* about to start running w… and 2 more (compare)

  • May 19 00:23
    bdukes opened #801
  • May 19 00:21
    bdukes opened #800
  • May 19 00:20
    bdukes opened #799
  • May 18 17:00
    bdukes opened #798
  • May 17 22:10
    bdukes opened #797
  • May 17 19:18
    bdukes opened #796
  • May 06 17:39

    dependabot[bot] on npm_and_yarn

    (compare)

  • May 06 17:39
    dependabot[bot] closed #792
  • May 06 17:39
    dependabot[bot] commented #792
  • May 06 17:39
    dependabot[bot] labeled #795
  • May 06 17:39
    dependabot[bot] labeled #795
  • May 06 17:39
    dependabot[bot] opened #795
  • May 06 17:39

    dependabot[bot] on npm_and_yarn

    Bump lodash from 4.17.4 to 4.17… (compare)

  • Apr 21 19:38
    dependabot[bot] labeled #794
  • Apr 21 19:38
    dependabot[bot] labeled #794
  • Apr 21 19:38
    dependabot[bot] opened #794
  • Apr 21 19:38

    dependabot[bot] on nuget

    Bump System.Text.Encodings.Web … (compare)

  • Apr 21 19:18
    dependabot[bot] labeled #793
  • Apr 21 19:18
    dependabot[bot] labeled #793
Sergei Golos
@SergeiGolos
i mean i guess the hackish way would be to expose a static property we modify in the program file.. but as an engineer that bothers me :(
Jeremy D. Miller
@jeremydmiller
Cheat and make it a static, so you could do it in your ISystem. The static makes it easy to avoid breaking backward compatibility.
And yeah, but we could revisit it with v6;-)
Sergei Golos
@SergeiGolos
so i should make a pull request? sorry this is popping my open source cherry :)
Jeremy D. Miller
@jeremydmiller
Ah, cool, yes please.
Sergei Golos
@SergeiGolos
Any suggestions on how you do faking/mocking in the tests project? Do you do mocking/faking?
Sergei Golos
@SergeiGolos

One more question/suggestion. One of the more useful tools for me in storyteller is the custom reports feature. It is something i have been using heavy. But while the feature is powerful, it doesn't really come with any components to make the reports look professional or even like they belong tool. Storyteller is based on bootstrap, but if you want to generate bootstrap components you end up having to roll your own with the very generic HtmlTag and TableTag.

Anyways, what i am getting at is, I rolled my own with wrappers around a bunch of bootstrap components as well as helpers for working with with typed data tables and lists. Would it be worth while for the StoryTeller project for me to port that in? Hopefully save some effort for future users.

Sergei Golos
@SergeiGolos
Here is a glimpse:
public class MappedHtmlTable<TType> : TableTag
    {
        private readonly List<MappedHtmlColumn<TType>> columns = new List<MappedHtmlColumn<TType>>();
        private TableRowTag headerRow = null;

        public MappedHtmlTable(IEnumerable<MappedHtmlColumn<TType>> columns)
            : base()
        {
            this.AddClass("table");
            this.AddClass("table-hover");
            this.Style("width", "100% !important;");

            foreach (var column in columns)
            {
                this.Column(column);
            }
        }

        public MappedHtmlTable<TType> AddRows(IEnumerable<TType> rows)
        {
            foreach (var row in rows)
            {
                this.AddRow(row);
            }

            return this;
        }

        public TableRowTag AddRow(TType rowData)
        {
            return this.AddRow(row => this.columns.Each(col => col.Map(rowData, row.Cell())));
        }

        public TableRowTag AddRow(HtmlTag tag)
        {
            return this.AddRow(row => row.Cell()
                .Attr("colspan", this.columns.Count)
                .Children
                .Add(tag));
        }
        protected override void WriteHtml(HtmlTextWriter html)
        {
            if (this.TBody.Children.Count == 0)
            {
                var errorMessage = new AlertTag("No Elements Found")
                    .Update(new HighlightDanger())
                    .Update(new MakeLarge());

                this.AddRow(errorMessage);
            }

            base.WriteHtml(html);
        }
  }
Jarrod Johnson
@JarrodJ83
Anyone have issues running storyteller with dotnet3.1? I'm getting The framework 'Microsoft.NETCore.App', version '1.0.5' was not found when running dotnet storyteller
Not sure why it's looking for v1.0.5
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> <DotNetCliToolReference Include="dotnet-storyteller" Version="5.0.0" /> </ItemGroup> <ItemGroup> <PackageReference Include="Storyteller" Version="5.4.0" /> </ItemGroup> </Project>
static void Main(string[] args) { StorytellerAgent.Run(args); }
Jarrod Johnson
@JarrodJ83
Looks like this was caused by mismatch in version of cli tool and storyteller packges. Fixed them both to be 5.4.0 and now it "works" but the UI gets stuck loading and never comes up. Anyone else experience any issues like this?
Jeremy D. Miller
@jeremydmiller
Check the console output and see if there’s anything going on there. You can check for JS errors too, but I’d expect the problem to be on the server side. Might try just running the tests from the command line.
Jarrod Johnson
@JarrodJ83
Looks like it was a result of running from GitBash
Reran from a standard command line and worked!
Jeremy D. Miller
@jeremydmiller
In ST v6 — which doesn’t happen until Marten v4 and Jasper simmer down — I think the UI becomes a global tool.
Wonder why? Different pathing rules or something?
Jarrod Johnson
@JarrodJ83
Ya that I do not know... I do know I can help on that Jasper simmer down... Still need to get back to that this week :)
Jeremy D. Miller
@jeremydmiller
I’m jammed up this week w/ Marten, but next week, wanna shoot for Jasper v2?
Jarrod Johnson
@JarrodJ83
I think that is reasonable. I'm in a training course from tomorrow until Tuesday so I will be tied up but hopefully can get back to jasper on the backend of next week
Jeremy D. Miller
@jeremydmiller
That sounds good to me
Jarrod Johnson
@JarrodJ83
Has anyone spun Storyteller up in a docker-compose that had the system that was being tested? I basically want to have everything self contained so storyteller has access to the system within the docker network
Jarrod Johnson
@JarrodJ83

looks like I get the following when running in a linux container unfortunately

It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.

  • No frameworks were found.

You can resolve the problem by installing the specified framework and/or SDK.

stefan geco
@SefanGeco_gitlab

Hy all!
I have following problem, when I try to run the quickstarts app (Storyteller v5) with command "dotnet storyteller" (after successful "dotnet restore"):

It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '1.0.5' was not found.

  • The following frameworks were found:
    2.0.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.2 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.4 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.6 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.11 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.13 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.16 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    2.1.18 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    3.1.4 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    You can resolve the problem by installing the specified framework and/or SDK.
    The specified framework can be found at:
Jeremy D. Miller
@jeremydmiller
Just looks like it’s time to go refresh those sample apps. Storyteller as a project hasn’t been very active the past couple years, and I just let those go stale. There is going to be a reboot late this year though
stefan geco
@SefanGeco_gitlab

I fixed it. Just needed to modify the csproj to this (netcoreapp to v3 and versions from 5.0 to 5.4):

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<OutputType>EXE</OutputType>
</PropertyGroup>
<ItemGroup>
<DotNetCliToolReference Include="dotnet-storyteller" Version="5.4.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="dotnet-storyteller" Version="5.4.0" />
<PackageReference Include="StoryTeller" Version="5.4.0" />
</ItemGroup>
</Project>

Just want to say that I work since some days with storyteller for my WPF app and I really love it!

Jarrod Johnson
@JarrodJ83
I have a coworker that gets this same error in multiple projects we have ST configured to use. No one else seems to have the problem but having a hard time narrowing down what is causing this. If anyone has any ideas I'd love to hear them: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.DependencyInjection.Abstractio ns, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'Microsoft.Extensions.DependencyInjec tion.Abstractions, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' at ST.Client.WebApplicationRun ner.startWebServer(String hostname, Int32 port, WebSocketsHandler webSockets) at ST.Client.WebApplicationRunner.Star t(IApplication application, WebApplicationConfiguration additionalConfiguration) at ST.Client.ApplicationController. Start() at ST.Client.OpenCommand.Execute(OpenInput input) at Oakton.OaktonCommand`1.Oakton.IOaktonCommand.Execut e(Object input) at Oakton.CommandExecutor.execute(CommandRun run)
Jarrod Johnson
@JarrodJ83
this is after running dotnet storyteller
Jeremy D. Miller
@jeremydmiller
Is this a netcoreapp3.0 project?
It’s a dependency conflict right off the bat
Jarrod Johnson
@JarrodJ83
netcoreapp3.1. The odd things is it runs fine on every other developer's PC and everything is in a git repo so I can pull the repo down, build, and run storyteller without issue. He runs the same steps and hits this so I am trying to figure out where the dependency issue is stemming from.
Jeremy D. Miller
@jeremydmiller
Check the exact version of the .Net runtime on the two boxes maybe?
Jarrod Johnson
@JarrodJ83
Anyone know if it's possible to format a return value as a list?
Jeremy D. Miller
@jeremydmiller
Yes, or at least it used to be
Jarrod Johnson
@JarrodJ83
I tried [return: StoryTeller.SelectionList("mylist")] but that didn't seem to work
Thoughts on other things to try?
Jeremy D. Miller
@jeremydmiller
Oh, sorry, you mean to make it a list control in the UI? That should have worked. I misunderstood you. What does the grammar look like?
Jarrod Johnson
@JarrodJ83
[return: StoryTeller.SelectionList(Sys.Lists.IsIsNot)] [FormatAs("Person {personUniqueId} {returnValue} in {affiliateSide} Program {programName} Residency")] public async Task<string> PersonIsInResidency(string personUniqueId, AffiliateSide affiliateSide, string programName) { ... return residency == null ? "is not" : "is"; }
looks something like this
Jarrod Johnson
@JarrodJ83
image.png
Also having trouble with CheckModelFixture<T>with nested types. The grammars for the nested properties in particular allow me to add input but then as soon as I save the spec it whiles out the input and the fields become uneditable:
all properties have public getters/setters and class is public
any thoughts?
Jeremy D. Miller
@jeremydmiller
I don’t have any idea offhand. As a workaround, you could use an intermediate type just for Storyteller that flattens it out
Any JS errors popping up maybe?
Jarrod Johnson
@JarrodJ83
Uncaught TypeError: Cannot read property 'findByPath' of undefined
at Step.findByPath (step.js:165)
at Specification.self.selectCell (specification.js:267)
at eval (navigation.js:67)
at SpecRecord.acceptChange (spec-record.js:156)
at eval (specs.js:16)
at updateInDeepMap (immutable.js:1971)
at updateInDeepMap (immutable.js:1980)
at updateInDeepMap (immutable.js:1980)
at Map.updateIn (immutable.js:1278)
at updateSpec (specs.js:15)
Jeremy D. Miller
@jeremydmiller
Yeah, and I still don’t have anything better to tell you
Jarrod Johnson
@JarrodJ83
No worries. Appreciate the response
Soooo.... where's your thoughts on that revamp 2021? :laughing: