-
Notifications
You must be signed in to change notification settings - Fork 15
Tutorial 2
PhuocLe edited this page Aug 24, 2018
·
13 revisions
Create Unit Test project for plugin: Paz.LuckeyMonkey.Plugin.Lead
- Add
New Project
9. C# ProxyTypes Project
to your solution- A popup form
Add new Proxy Types Project
opened - Click button
><
to create/select a Dynamics 365 connection - After connected, click
OK
-
PL.DynamicsCrm.DevKit
created project name:Paz.LuckeyMonkey.ProxyTypes
- A popup form
- Rebuild solution to restore
NuGet
packages -
Execute File
run.bat
ofPaz.LuckeyMonkey.ProxyTypes
project, waitingCrmSvcUtil
generate code toGeneratedCode.cs
file. - Rebuild solution without errors
- Add
New Project
6. C# Test Project
to your solution- A popup form
Add new Test Project
opened - Dropdown list all available projects test
- Select
Paz.LuckeyMonkey.Plugin.Lead
- Click
OK
-
PL.DynamicsCrm.DevKit
created test project name:Paz.LuckeyMonkey.Plugin.Lead.Test
- A popup form
- Rebuild solution to restore
NuGet
packages - Add
New Item
5. C# Test Class
toPaz.LuckeyMonkey.Plugin.Lead.Test
project- A popup form
Add new Test CLass
opened - Dropdown list all available test class
- Select
PreLeadCreateSynchronous
- Click
OK
-
PL.DynamicsCrm.DevKit
created test class:PreLeadCreateSynchronousTest
- A popup form
- Rebuild solution without errors
- Open
Test Explorer
window andRun All
tests.- 4 passed tests.
- 1 failed test.
- Edit failed test
[TestMethod]
public void PreAccountCreate_Test_AccountName_Is_Null()
{
//setup
Context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(ProxyTypesAssembly));
Context.Data.Clear();
var target = new Shared.Entities.Account
{
AccountId = Guid.NewGuid()
};
PluginContext.InputParameters["Target"] = target.GetCreateEntity();
//run
var plugin = Context.ExecutePluginWith<PreAccountCreateSynchronous>(PluginContext);
//result
var resultTarget = (Entity)PluginContext.InputParameters["Target"];
var account = new Shared.Entities.Account(resultTarget);
Assert.IsNull(account.Name);
}
[TestMethod]
public void PreAccountCreate_Test_AccountName_UpperCase()
{
//setup
Context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(ProxyTypesAssembly));
Context.Data.Clear();
var target = new Shared.Entities.Account
{
AccountId = Guid.NewGuid(),
Name = "Hello World"
};
PluginContext.InputParameters["Target"] = target.GetCreateEntity();
//run
var plugin = Context.ExecutePluginWith<PreAccountCreateSynchronous>(PluginContext);
//result
var resultTarget = (Entity)PluginContext.InputParameters["Target"];
var account = new Shared.Entities.Account(resultTarget);
Assert.AreEqual(account.Name, "HELLO WORLD");
}
-
Run All
tests again.- 6 passed tests.
- Check-in all files to your source control.
- You finished this tutorial.
Your Solution Explorer
after you finished this tutorial