{"id":20418807,"url":"https://github.com/marcusoftnet/marcusoft.outsidein.featuredemo","last_synced_at":"2026-05-10T18:02:51.055Z","repository":{"id":138479089,"uuid":"989881","full_name":"marcusoftnet/Marcusoft.OutsideIn.FeatureDemo","owner":"marcusoftnet","description":"A demo project for outside in development with SpecFlow","archived":false,"fork":false,"pushed_at":"2010-10-29T20:57:38.000Z","size":2356,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-15T14:15:17.166Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcusoftnet.png","metadata":{"files":{"readme":"readme.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-10-15T13:18:14.000Z","updated_at":"2016-11-24T22:38:47.000Z","dependencies_parsed_at":"2023-03-13T10:53:53.510Z","dependency_job_id":null,"html_url":"https://github.com/marcusoftnet/Marcusoft.OutsideIn.FeatureDemo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusoftnet%2FMarcusoft.OutsideIn.FeatureDemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusoftnet%2FMarcusoft.OutsideIn.FeatureDemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusoftnet%2FMarcusoft.OutsideIn.FeatureDemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcusoftnet%2FMarcusoft.OutsideIn.FeatureDemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcusoftnet","download_url":"https://codeload.github.com/marcusoftnet/Marcusoft.OutsideIn.FeatureDemo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241960882,"owners_count":20049344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T06:34:52.155Z","updated_at":"2026-05-10T18:02:51.046Z","avatar_url":"https://github.com/marcusoftnet.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Marcusoft.OutsideIn.FeatureDemo\n===============================\n\nTODO: Write the Controller Level version of the specs\n\nThis a demoproject that is to be used when I hold workshops in BDD with SpecFlow. \n\nThere's a starting point directory that we set off from and then a directory for two potential stages. \n\nI started this as a blogpost that I wrote here: http://www.marcusoft.net/2010/10/story-on-doing-outside-in-development.html\n\nThe application\n===============\nIn short the application is a feature management system, that holds the backlog for an application (or more?). \n\nFortunally for us some poor guy, Thomas, has written a service that serves up the features from the database. So we can safely use the FeatureDBWrapper and need not to worry about how to get features from and to the database. \n\nRight now our manager, Tobias, wants us to let the application list stuff from the database. Here is the story that Tobias has given us:\n\nBrowsing the home page\n    In order to see a list of the features of our application and their status\n    As a team member\n    I want to see a list of the features, sorted on their different status\n\nTo learn from this drill we have decided to use SpecFlow and an Outside-In approach on two levels:\n\t- End to End testing � testing from the HTML down to and including the FeatureDBWrapper\n\t- Controller level testing � we test our controller and mock out the datalayer (i.e. FeatureDBWrapper).\n\nOur first order of business is to find some good scenarios that show when and how the feature is done.\n\nHere is some tips:\n- Start simple\n- Let the scenarios pull the implementation from you \n- Build something �real�\n\nHere are some additional user stories that you can continue on with\nAdding new feature\n\tIn order to create new features\n\tAs a team member\n\tI want to add a new feature with all it's relevant information\n\nUpdating a feature\n\tIn order to keep information of a feature up-to-date \n\tAs a team member\n\tI want to be able to update the information of the feature\n\nTake on work\n\tIn order to track who is working on what\n\tAs a team member\n\tI want to pull the work to me by taking responsibility of a feature\n\nEstimation\n\tIn order to get a idea on when all the features are done\n\tAs a team member\n\tI want to be able to do estimations based on the time we've put in on the features\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusoftnet%2Fmarcusoft.outsidein.featuredemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcusoftnet%2Fmarcusoft.outsidein.featuredemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcusoftnet%2Fmarcusoft.outsidein.featuredemo/lists"}