Code Monkey home page Code Monkey logo

365saturday's Introduction

365saturday Workshop

365 saturday test automation + CI/CD workshop repo

0. Background

Let's say a user calls his bank customer service because he wants to know more about of one the bank's banking products and / or services. Dynamics CRM is integrated with a Cisco CTI / Middleware so whenever a phonecall is received, a window opens up automatically in CRM with details about the phonecall, as well as the history of all the contacts who called from that number previously, so the operator can pick an existing one or create a new one. Either way, a new case is created where the operator will enter some information about the call. At the end of the call, the case might be closed if they operator could answer what the user requested, or still open if the call needs a follow up.

1. Scenario steps

  1. Incoming phonecall to open a list of contacts matching that number. This could be a custom web resource that would display a phonecall history entity, via Web API, to pull that information and display it on the web resource. Web API + odata JS Unit testing

  2. During the conversation, operator identifies the caller and picks up an existing contact or creates a new one, (because, for instance, the same phone number might be reused by many different people over time). A plugin then fires to create a new entry in the phonecall history entity for that contact and phonenumber, so that it will be displayed the next time he calls. Plugin Unit testing.

  3. Upon selection of a contact, either new or existing, a new case is created and opened automatically. This would be again javascript. If time allows, we could also show some unit testing for the form object.

  4. Let's say the case isn't resolved. A waiting workflow can be triggered to generate an outgoing phonecall to follow up with the user in X number of days if the case is still open. Code activity unit testing.

2. Workshop schedule

  • Intro
  • Entity Model & Solution Overview
  • Plugin Unit Testing
  • Javascript Unit Testing
  • Build definition / CI
  • Integration Testing
  • Release definition / CD
  • UI Testing
  • Wrap up

3. Entity Model & Solution Overview

3.1. Entity Model

  • ultra_phonecallhistory: Entity used to aggregate phone call records by phone number and contact.
  • ultra_systemparameter: Entity used to some system-wide configuration data

3.2. Solution Overview / Layout

Note: Restore any NuGet packages first. This will pull the SDKs and CoreTools (i.e. CrmSvcUtil.exe, SolutionPackager etc) automatically to the packages folder.

  • D365Saturday.TypedEntities: Class library with the early bound entities needed by the plugins and unit test project. It will use crmsvcutil which can be downloaded from NuGet.

365saturday's People

Contributors

jordimontana82 avatar waelhamze avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.