Skip to content

Instantly share code, notes, and snippets.

View dan-harris's full-sized avatar
🥓
Contemplating bacon.

Dan Harris dan-harris

🥓
Contemplating bacon.
View GitHub Profile
[Route("api")]
public class ActionsController : Controller
{
....
// POST endpoint for all actions
[HttpPost("v1")]
public IApuxActionResult ExecuteAction([FromBody] ApuxActionRequest actionRequest)
{
....
{
"type": "PRODUCT_GET_BY_ID",
"payload": 3
}
public class ApuxAction<T> : IApuxAction
{
[JsonProperty(PropertyName = "type")]
public string Type { get; set; }
[JsonProperty(PropertyName = "payload")]
public T Payload { get; set; }
[JsonIgnore]
public interface IApuxAction
{
string Type { get; set; }
JToken BasePayload { get; set; }
}
@dan-harris
dan-harris / react-website-example.jsx
Last active March 28, 2018 02:56
React website composition example
// ---------------------------
// Website.js
// This is the app container (for the website)
// As an example you'll eventually want something that looks like this
// ---------------------------
class Website extends Component {
render() {
return (
<ThemeProvider theme={theme}>
<Header />
+ plugins: [
+ {
+ package: "protractor-console-plugin",
+ failOnWarning: false,
+ failOnError: true,
+ logWarnings: true
+ }
+ ]
onPrepare() {
...
+ jasmine.getEnv().addReporter(
+ new jasmineReporters.JUnitXmlReporter({
+ consolidateAll: true,
+ savePath: "e2e/results",
+ filePrefix: "e2e-results-junit"
+ })
+ );
},
capabilities: {
browserName: "chrome",
+ chromeOptions: {
+ binary: process.env.CHROME_BIN
+ }
},
const { SpecReporter } = require("jasmine-spec-reporter");
+ const jasmineReporters = require("jasmine-reporters");
+ process.env.CHROME_BIN = process.env.CHROME_BIN || require("puppeteer").executablePath();
const { SpecReporter } = require("jasmine-spec-reporter");
const jasmineReporters = require("jasmine-reporters");
process.env.CHROME_BIN = process.env.CHROME_BIN || require("puppeteer").executablePath();
exports.config = {
allScriptsTimeout: 11000,
specs: ["./e2e/**/*.e2e-spec.ts"],
capabilities: {
browserName: "chrome",
chromeOptions: {